问题描述
演示
babel.config.js
module.exports = {
plugins: [
"minify-dead-code-elimination",[path.resolve(__dirname,'plugin/my-plguin.js'),{ libraryName: ['subApp']}]
]
};
src/index.js
import strA from 'a';
console.log('index')
if(false){
console.log(strA)
}
src/a.js
const vara = 'vara';
export default vara
运行 minify-dead-code-elimination
输出:
import strA from 'a';
console.log('index')
在我的插件中
Identifier(path) {
const { name } = path.node
name === 'strAs' && console.log(path.node)
}
控制台
Node {
type: 'Identifier',start: 70,end: 74,loc: SourceLocation {
start: Position { line: 4,column: 16 },end: Position { line: 4,column: 20 },filename: undefined,identifierName: 'strA'
},range: undefined,leadingComments: undefined,trailingComments: undefined,innerComments: undefined,extra: undefined,name: 'strA'
}
神奇的是,我的插件console.log显示我得到了应该被“minify-dead-code-elimination”删除的第四行。
无论是单独运行“minify-dead-code-elimination”,还是结合我的插件,输出都可以删除if (false)
代码块。所以不是babel版本的问题
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)