noParse
这是module中的一个属性,作用:
不去解析属性值代表的库的依赖 , 以增加打包速率
1 | module: { |
exclude和include
loader解析时指定和排除查找目录
1 | exclude:/node_modules/,//解析不包含的目录,两者写其一即可 |
IgnorePlugin
忽略第三方包指定目录,让这些指定目录不要被打包进去
1 | // 以moment为例 |
dllplugin
将不变的包单独打包,后续就不再进行打包
happypack
多线程打包
1 | let HappyPack = require('happypack'); |
webpack在生产环境自带优化项
tree-shaking
使用import语法,在生产化境下 会自动删除没用的代码。(require无效)
scope hosting
作用域提升
1 | let a = 1; |
抽离公共模块(多页面应用)
1 | optimization: { |
懒加载(动态加载)
使用import(),可以实现懒加载
1 | import('./a') |
热更新
- 在devServer中开启hot配置为true
- 添加两个webpack的内置插件,分别为new webpack.NamedModulesPlugin()和new webpack.HotModuleReplacementPlugin(),前者用于打印更新的模块路径,告诉我们哪个模块热更新了;后者是热更新插件。
1 | // webpack.config.js |