noparse

  • module.noParse 字段,可以用于配置哪些模块文件的内容不需要进行解析
  • 不需要解析依赖(即无依赖) 的第三方大型类库等,可以通过这个字段来配置,以提高整体的构建速度
    1. // webapck.config.js
    2. module:{
    3. ...
    4. noParse:/jquery|lodash/
    5. ...
    6. }

    IgnorePlugin

    IgnorePlugin 用于忽略某些特定的模块 让webpack 不把这这些包打包进去

例子

  1. import moment from 'moment'
  2. moment.locale('zh-cn')
  3. let date = moment().startOf('hour').fromNow(); // 7 分钟前
  4. console.log(date)

moment中自带有语言包, 这里只使用了zh-cn,就包所有的包都打包进去了
image.png

这个时候我们就可以用 webpack自带的ignorePlugin插件了忽略语言包

  1. // webapck.config.js
  2. plugins:[
  3. ...
  4. new webpack.IgnorePlugin(/^\.\/locale/, /moment$/)
  5. ]

我们把所有的语言包都去掉了,包括 我们需要的zh-cn 怎么办呢
手动引入

  1. import 'moment/local/zh-cn'