在函数中使用require会导致包大小增加200%

时间:2017-12-22 14:57:28

标签: webpack vue.js

在我的Vue + Webpack项目上一次构建中,dist文件夹的js文件大小只有4 Mb。

我添加了一个新功能并再次运行构建,现在捆绑大小增加到12 Mb。

该功能有这一行

chapterselected = require('assets/json/ml/' + chapterfile + '.xml.json')

在其中,如果我对此行发表评论,该捆绑将再次为4mb,

search() {
   /// some codes
   chapterselected = require('assets/json/ml/' + chapterfile + '.xml.json')
   /// process chapterselected here
}, 

我无法删除此行作为其功能的主要部分,因此我需要帮助来解决此问题 - 为什么它会增加包大小?

1 个答案:

答案 0 :(得分:1)

它将您文件夹中的每个文件assets/json/ml/放入捆绑包中。大概这些都是大文件。

如果您的Javascript文件太大,我会将*.json文件传递给文件加载器,而不是json加载器,以便它们在运行时通过网络加载。它仍会将所有大型json文件放在输出文件夹中,但它只会在运行时加载所需的内容。