НПМ и Bower, так и Browserify и залпом и хрюкать и Webpack



я пытаюсь обобщить свои знания о самых популярных менеджерах пакетов JavaScript, bundlers и task runners. Пожалуйста, поправьте меня, если я ошибаюсь:





  • npm & bower менеджеры пакетов. Они просто загружают зависимости и не знают, как строить проекты самостоятельно. То, что они знают, называется webpack/gulp/grunt после загрузки всех зависимостей.


  • bower как npm, но строит сплющенные деревья зависимостей (в отличие от npm Что делать это рекурсивно). Значит npm извлекает зависимости для каждой зависимости (может извлекать то же самое несколько раз), в то время как bower ожидает, что вы вручную включите суб-зависимости. Иногда bower и npm используются вместе для front-end и back-end соответственно (так как каждый мегабайт может иметь значение на front-end).


  • grunt и gulp являются ли бегуны задач автоматизировать все, что может быть автоматизировано (т. е. компилировать CSS/Sass, оптимизировать изображения, сделать расслоить и минимизировать / транспилировать его).


  • grunt и gulp (как maven и gradle или настройки и код). Grunt основан на настройке отдельных независимых задач, каждая задача открывает/обрабатывает/закрывает файл. Gulp требует меньшего количества кода и основан на потоках узлов, что позволяет ему создавать цепочки трубопроводов (без повторного открытия одного и того же файла) и делает его быстрее.


  • webpack (webpack-dev-server) - для меня это бегун задач с горячей перезагрузкой изменений, который позволяет вам чтобы забыть обо всех наблюдателях JS/CSS.


  • npm/bower + плагины могут заменить бегунов задач. Их способности часто пересекаются, поэтому есть разные последствия, если вам нужно использовать gulp/grunt over npm + Плагины. Но Task runners определенно лучше подходят для сложных задач (например, "на каждой сборке создайте пакет, транспилируйте из ES6 в ES5, запустите его во всех эмуляторах браузеров, сделайте скриншоты и разверните в dropbox через ftp").


  • browserify позволяет упаковывать модули узлов для браузеров. browserify vs node ' s require на самом деле AMD vs CommonJS.


вопросы:





  1. что это webpack & webpack-dev-server? официальная документация говорит, что это модуль bundler, но для меня это просто бегун задач. какая разница?


  2. где бы вы использовать browserify? Не можем ли мы сделать то же самое с node / ES6 импорт?

  3. когда вы используете gulp/grunt over npm + Плагины?

  4. пожалуйста, приведите примеры, когда вам нужно использовать комбинацию

753   0  

Comments

    Ничего не найдено.