webpack

209 阅读1分钟

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