moment.js
当您使用 webpack 时,有什么方法可以阻止加载所有语言环境(我只需要英语)?我正在查看源代码,似乎如果hasModule
定义了,它是针对 webpack 的,那么它总是尝试require()
每个语言环境。我很确定这需要一个拉取请求来修复。但是有什么办法可以用 webpack 配置来解决这个问题吗?
这是我用于加载 momentjs 的 webpack 配置:
resolve: {
alias: {
moment: path.join(__dirname, "src/lib/bower/moment/moment.js")
},
},
然后在任何我需要它的地方,我就做require('moment')
。这有效,但它向我的包中添加了大约 250 kB 不需要的语言文件。另外我使用的是 bower 版本的 momentjs 和 gulp。
此外,如果 webpack 配置无法解决此问题,这里有一个链接,指向加载 locales 的函数。我尝试添加&& module.exports.loadLocales
到if
声明中,但我猜 webpack 实际上并没有以一种可行的方式工作。它只是require
没什么不管是什么。我认为它现在使用正则表达式,所以我真的不知道你会如何修复它。