Javascript 网页包赢得';t treeshake未使用的命名导出对象(使用Create React App)
小型回购协议,展示了该问题: 我有一个Javascript 网页包赢得';t treeshake未使用的命名导出对象(使用Create React App),javascript,reactjs,webpack,create-react-app,tree-shaking,Javascript,Reactjs,Webpack,Create React App,Tree Shaking,小型回购协议,展示了该问题: 我有一个customIcons.jsx文件,它导出了一些SVG路径(其中一些路径我可能会用到,也可能不会用到)。我只将4个图标中的2个导出到App.js(在上面的示例中) 从“/customIcons”导入{abacus,addressBook} 但是,当我现在运行warn build时,捆绑大小与我导入的所有4个图标一样大。根据我导入到App.js的图标数量,它根本不会改变。只有当我省略整个import语句(不从文件中导入任何内容)时,我才能看到main.[has
customIcons.jsx
文件,它导出了一些SVG路径(其中一些路径我可能会用到,也可能不会用到)。我只将4个图标中的2个导出到App.js
(在上面的示例中)
从“/customIcons”导入{abacus,addressBook}代码>
但是,当我现在运行warn build
时,捆绑大小与我导入的所有4个图标一样大。根据我导入到App.js
的图标数量,它根本不会改变。只有当我省略整个import语句(不从文件中导入任何内容)时,我才能看到main.[hash].chunk.js
的包大小减小
我是不是做错了什么,网页包没有把未使用的对象树化
事实证明,你必须将你的包标记为“sideEffectfree”,才能进行树上攀爬
在包内设置“sideEffects”:false
。json会导致问题