Vue2 打包去除moment多余语言包

523 阅读1分钟

目的: 减轻打包体积

vue2

方式一:

  1. 安装插件
npm i -S moment
npm i -D moment-locales-webpack-plugin
  1. 在vue.config.js增加以下配置:
const MomentLocalesPlugin = require('moment-locales-webpack-plugin')
module.exports= {
    configureWebpack:{
          plugins: [
             //new MomentLocalesPlugin(),
             //(“en” 内置于 Moment 中,无法移除) 
             new MomentLocalesPlugin({
                 // 剥离除 “zh-cn” 以外的所有语言环境。
                 localesToKeep: ['zh-cn'] 
             })
          ]
     },
}

方式二:

  1. 在vue.config.js增加以下配置
configureWebpack: config => {
    config.plugins.push(new webpack.ContextReplacementPlugin(/moment[/\]locale$/, /zh-cn/))
}

configureWebpack: {
    plugins: [new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /zh-cn/), ...productPlugin]
 }

方式三:

  1. 在vue.config.js增加以下配置
 configureWebpack: {
    plugins: [new webpack.IgnorePlugin(/^./locale$/, /moment$/),]
 }