webpack本身是用node写的,完全可以当成一个方法
webpack引入进来,给一些方法,可以执行和命令行输入webpack一样的打包,然后把结果输出出去
npm run build 发生了什么
-
用node环境执行build.js
-
build.js里使用webpack.pro.js打包
-
webpack.pro.js
(a.)与webpack.base.js合并
(b.)从config里拿出index.js和pro.env里的变量
常用的插件
- wepack.DefinePlugin---在打包阶段定义全局变量 (在webpack配置里面定义全局变量,方便在app.js中使用),例如:
-
wepack.HashedModuleIdsPlugin---保持module.id稳定,从而保证hash稳定
-
webpack.NoEmitOnErrorsPlugin--屏蔽错误,写错东西,开法模式不会退出不会中断开发服务器
-
webpack.ProvidePlugin---提供库
好处:1、统一管理 2、解决项目中要引入多个第三方库需要大量引入
- webpack.CopyWebpackPlugin---帮助拷贝目录(帮助拷贝指定位置文件夹,并把文件注入到打包结果中)
优化打包速度
- DLL优化
简介: (1)我们一般第三方的包不会变,
(2)但是webpack每次打包,还是会取处理第三方包
(3)我们先对地方包处理,然后在打包
- HappyPack
简介: (1)js是单线程
(2)node是可以开webWork