使用 webpack 排除未使用的语言环境 momentjs

Had*_*bar 7 javascript momentjs webpack

我正在尝试使用 webpack 排除未使用的 momentjs 区域设置。我尝试过以下三种方法:

1- moment-locales-webpack-plugin

new MomentLocalesPlugin({
    localesToKeep: ["en"]
  })
Run Code Online (Sandbox Code Playgroud)

2-ContextReplacement插件

 new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /en/)
Run Code Online (Sandbox Code Playgroud)

3-忽略插件

new webpack.IgnorePlugin(
  /^\.\/locale$/,
  /moment$/
});
Run Code Online (Sandbox Code Playgroud)

但是,这些方法都不适合我,所有语言环境仍然存在于最终包中。我的 webpack 版本是 4.28.2。我正在使用 moment-js v 2.23。

小智 5

new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /en/)
Run Code Online (Sandbox Code Playgroud)

moment.js 中没有“en”语言环境;这就是为什么它加载所有这些。/en-gb/如果您只需要英语,请尝试。