在 !!生产环境下!! ,打包是会自动除无用的代码,这种功能叫:tree-shaking 功能
以index.js
使用 test.js
的方法为例:
test.js
如下:
let sum=(a,b)=>{
return a+b;
}
let minus=(a,b)=>{
return a-b+'minus';
}
// 暴漏出去
export default{
//将这两个参数导出去
sum,minus
}
index.js
如下:
import calc from './test.js'
console.log( calc.sum(3,1) );
在生产环境下,import
在生产环境下具有 tree-shaking
功能会筛除无用代码。
所以尽量使用 import
引入!!!!少使用 require( ) ,因为requrie 语法不支持 tree-shking ,会把目标文件整个打包
mode:developemnt 时:以上例为例,从 bundel.js
中是找不到 minus
的代码段
因为:没有使用到的 属性 和 方法 被选择性的筛除了。
scope hosting ,打包前webpack自动简化函数结构
这是webpack 的默认行为,当打包前会简化代码,再塞入打包,是自带优化功能之一