rollup打包遇到的奇怪问题

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
}

阅读 3k
1 个回答

应该是 tree shaking
add(1, 2) 的结果没有用到,所以 rollup 认为这是无效的代码,所以相当于连 add 方法也没用到,你写的代码没有任何副作用,和空代码执行完没有区别;但是后面因为加了 log,有副作用了,代码就得打包进去了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题