如何防止webpack加载moment.js的本地化文件?

14 浏览
0 Comments

如何防止webpack加载moment.js的本地化文件?

在使用webpack时,有没有办法阻止moment.js加载所有区域设置(我只需要英文)?我查看了源代码,似乎如果hasModule被定义了(对于webpack来说是这样),它就总是尝试require()每个区域设置。我相当确定这需要一个拉取请求来修复。但是我们能否通过webpack配置来解决这个问题呢?

以下是我用来加载momentjs的webpack配置:

resolve: {
            alias: {
                moment: path.join(__dirname, "src/lib/bower/moment/moment.js")
            },
        },

然后在任何需要它的地方,我只需require('moment')。这个方法可以工作,但它会将大约250 kB的不需要的语言文件添加到我的bundle中。另外,我正在使用momentjs和gulp的bower版本。

如果无法通过webpack配置来解决这个问题,这里是加载区域设置的函数的链接。我尝试在if语句中添加&& module.exports.loadLocales,但我猜webpack实际上不会以这种方式工作。它无论如何都会require。我想它现在使用了正则表达式,所以我真的不知道你如何修复这个问题。

0