Webpack es6导出常量和导入在构建包的文件中包含整个模块,而不仅仅是我导入的模块
我正在开发一个nuxt应用程序,并使用unicons作为图标 我有一个像这样的icons.js文件 我只从图标文件中导入了一个图标,如下所示:Webpack es6导出常量和导入在构建包的文件中包含整个模块,而不仅仅是我导入的模块,webpack,ecmascript-6,babeljs,es6-modules,nuxt.js,Webpack,Ecmascript 6,Babeljs,Es6 Modules,Nuxt.js,我正在开发一个nuxt应用程序,并使用unicons作为图标 我有一个像这样的icons.js文件 我只从图标文件中导入了一个图标,如下所示: import { uniEllipsisH } from '@/helpers/icons' 当我使用以下命令分析捆绑包时: yarn build --analyze 我的包中包含了整个icons.js文件 我假设捆绑包中只包含导入的图标。 完全糊涂了。 请提供帮助。您提供的示例图标文件是CommonJS,树震动仅适用于ES模块 您可以阅读更多有关
import { uniEllipsisH } from '@/helpers/icons'
当我使用以下命令分析捆绑包时:
yarn build --analyze
我的包中包含了整个icons.js文件
我假设捆绑包中只包含导入的图标。
完全糊涂了。
请提供帮助。您提供的示例图标文件是CommonJS,树震动仅适用于ES模块 您可以阅读更多有关此问题以及其他可能阻止树抖动工作的问题。在package.json中使用“sideEffects=”false“ 并将其导出为
export const foo = {....}
而不是
module.exports.foo = {...}
解决了问题。我已将所有“module.exports.xyx=”替换为“export const xyz=”。我仍然得到相同的结果。nuxt默认网页包配置是否未以这种方式配置?有可能Babel正在使用预设环境将es模块转换为commonJS。请尝试调试Babel config nuxt生成的内容。是否有
副作用s:false
?