一、什么是webpack:
webpack是一款模块加载兼打包工具,它可以将js、jsx、coffee、样式sass、less,图片等作为模块来使用和处理。
二、优势:
1、以commonJS的形式来书写脚本,对AMD、CMD的支持也很全面,方便旧项目的迁移。
2、能被模块化的不止是JS了。
3、能替代部分grunt/gulp的工作,例如打包,压缩混淆,图片转base64等。
4、扩展性强,插件机制完善,支持React热拔插(react-hot-loader)
三、webpack主要特性如下:
1、同时支持CommonJS和AMD模块(对于新项目,推荐直接使用CommonJS)
2、灵活性和扩展性:串联式模块加载器以及插件机制,让其具有更好的灵活性和扩展性
3、按需加载:可以基于配置或者智能分析打包成多个文件,实现公共模块或者按需加载
4、打包:支持对CSS,图片等资源进行打包,从而无需借助Grunt或Gulp(browserify只能打包JS文件);
5、开发时在内存中完成打包,性能更快,完全可以支持开发过程的实时打包需求;
6、对source map有很好的支持。
四、安装和配置:
1、安装:直接使用npm来进行安装
$ npm install webpack -g
将依赖写入package.json包
$ npm init
$ npm install webpack --save-dev
2、配置:
每个项目必须配置一个webpack.config.js,作用如同gulpfile.js/Gruntfile.js,一个配置项,告诉webpack要做什么。
如:
(1)、插件项
(2)、页面入口文件配置
(3)、入口文件输出配置
(4)、加载器配置
(5)、其它解决方案配置
五、运行webpack,直接执行
六、模块引入