8
NPM,Bower,Browserify,Gulp,Grunt和Webpack
我试图总结我对最流行的JavaScript包管理器,捆绑器和任务运行器的了解。如果我错了,请纠正我: npm&bower是包裹经理。他们只是下载依赖项,而不知道如何自行构建项目。他们知道什么是调用webpack/ gulp/ grunt获取所有的依赖后。 bower类似于npm,但是构建了一个扁平的依赖树(与npm递归地执行不同)。含义将npm获取每个依赖项的依赖项(可能会获取相同的几次),同时bower希望您手动包含子依赖项。有时,bower和npm分别分别用于前端和后端(因为前端中每个兆字节可能都很重要)。 grunt并且gulp是任务执行者,可以自动化所有可以自动化的内容(例如,编译CSS / Sass,优化图像,制作捆绑包并缩小/翻译)。 gruntvs. gulp(类似于mavenvs. gradle或配置vs.代码)。Grunt基于配置单独的独立任务,每个任务打开/处理/关闭文件。Gulp需要较少的代码量,并且基于Node流,这使其可以构建管道链(无需重新打开同一文件)并使其更快。 webpack(webpack-dev-server)-对我来说,这是一个任务执行程序,它具有对更改进行热重新加载的功能,使您无需理会所有JS / CSS监视程序。 npm// bower插件可以代替任务运行器。它们的能力经常相交,因此如果您需要使用gulp/ gruntover npm+插件,则会有不同的含义。但是任务运行者绝对适合复杂任务(例如“在每个构建中创建捆绑包,从ES6移植到ES5,在所有浏览器模拟器上运行它,制作屏幕截图并通过ftp部署到保管箱”)。 browserify允许为浏览器打包节点模块。browserifyvs node's require实际上是AMD vs CommonJS。 问题: 什么是webpack&webpack-dev-server?官方文档说这是一个模块捆绑器,但对我来说只是一个任务运行器。有什么不同? 您将在哪里使用browserify?我们不能对node / ES6导入做同样的事情吗? 您何时会使用gulp/ gruntover npm+插件? 当您需要组合使用时,请提供示例