**案例I:**我有一个名为data.json的文件;
{
"a": 1,
"b": 2,
...
}
我在index.js中导入/需要的内容,如下所示
import data from './data.json';
console.log(data["a"]);
一切正常,但是当与webpack捆绑在一起时,整个data.json都转储到index.js中,因此文件大小随我不需要的属性值而增加。
**第二种情况:**但是,如果我在index.js中执行以下操作
const a = {
"a": 1,
"b": 2,
...
}
console.log(data["a"]);
一切都很好(记录了值1),并且没有转储json变量a的不必要属性。我认为webpack的Tree Shaking正在此处运行(我不确定)
我的问题:如何通过要求/导入文件来实现情况II(没有不必要的属性),就像情况I一样?
我在考虑是否有一种方法可以将require的内容视为一个值而不是一个依赖项,因此webpack或任何其他捆绑程序不会将其包含在捆绑的文件中。
PS:我正在捆绑WEB
使用fs:
const fs = require('fs')
let jsonData = JSON.parse(fs.readFileSync('data.json', 'utf-8'))