rollup版本v2.47.0
// lib.js
export default function(a,b){
return a + b
}
// index.js
import add from './lib.js'
add(1,2)
rollup index.js -o dist.js
执行打包命令之后生成了空文件,但是我再lib.js中加了一行console,打包就正常了
export default function(a,b){
console.log('something')
return a + b
}
应该是 tree shaking
add(1, 2) 的结果没有用到,所以 rollup 认为这是无效的代码,所以相当于连 add 方法也没用到,你写的代码没有任何副作用,和空代码执行完没有区别;但是后面因为加了 log,有副作用了,代码就得打包进去了。