我正在导入lodash进入我的项目,但主脚本不使用超过 5 个 lodash 函数,我不想用未使用/非事件代码填充我的项目,有没有办法检查整个项目结构并删除 bundle 上的非事件代码/构建时?
示例:
index.html
<body>
<script src="lodash.js"></script>
<script src="app.js"></script>
</body>
lodash.js
function a() {
console.log('Hi')
}
function b() {
console.log('I am not used anywhere')
}
app.js
...
document.getElementById('main').addEventListener('click', a)
...
项目中未使用函数b()。
问题:
如何自动删除不活动的代码function b()?
最佳答案
你想要的叫Tree Shaking ,一种决定哪些代码是死代码并且不应包含在 bundle 中的模式。与 Webpack 一起使用的要求之一是使用 ES Modules 。如果您已经使用 webpack 来捆绑 app.js
,则应该 import
将 lodash 导入您的项目中,而不是将其添加为 html 文件中的依赖项。
请记住,这仅在 lodash 使用 ES 模块时才有效,如果不是这种情况,则始终有 lodash-es
关于javascript - 是否可以使用 Webpack 删除不活动的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59695277/