哇!!!!我仔仔细细的看了 webpack > v4.16.0 > 文档 > 指南 > Tree Shaking 中对于sideEffects的介绍,不管是按他文档表面的意思还是结合上下文来看 sideEffects这个属性都好像是用来裁剪未引入的代码(就是文中提示的死代码),比如下面:
//index.js (这是node_modules 下 myplugin模块,他包含index.js 和 package.json)
function a(){'is a'};
function b(){'is b'};
export {a , b};
//package.json
{
"name":'myplugin',
"sideEffects":false
}
//main.js
import {a} from 'myplugin';
a();
当打包后 按理输出代码中不再包含 b函数的相关代码, 但是"sideEffects":false并没有什么卵用,还是所有代码都被打包,反而如果想去掉b代码,只要 mode: "development" 就行!所以。。。。。。这sideEffects到底是个啥玩意?到底有啥用?到底什么场景用?
还有就是这玩意要设置在模块的package.json中,并且webpack文档也说这是个库级设置,那是不是这玩意只能由模块的作者来设置?我们设置也没啥卵用,重装模块就没了! 哇,困惑啊。。。。。
慕田峪7331174
RISEBY
相关分类