Appearance
TreeShaking
- 尽量使用export {} 导出代码
使用这样的写法,webpack才能做tree-shaking
js
export {
xxx
}
export {
xxx
}
- 不要使用babel将esm转为cjs
若代码是commonjs
代码,将失去tree-shaking优化,需要设置baberc
配置中的modules: false
- lib库酌情使用 sideEffects
通过设置package.json
中的sideEffects
字段,可以告诉webpack哪些是纯的(无副作用)
使用 unplugin-vue-components 或 babel-plugin-import 按需引入组件
可以使用 /*#PURE */ 标记哪些函数调用没有副作用,进而tree-shaking
异步模块标记哪些导出被使用
js
import(/* webpackExports: ["foo", "default"] */ "./foo").then((module) => {
console.log(module.foo);
});
import(/* webpackExports: ["foo", "default"] */ "./foo").then((module) => {
console.log(module.foo);
});