这是一个类似的问题Prevent rollup from renaming Promise to Promise$1 ,但我的问题仍未得到解决。
我使用Rollup和babel捆绑了许多模块,包括变量global
。
当我没有使用Babel Plugins
时,它会输出global
,这就是我需要的东西
但是,当我使用Babel Plugins
时,会输出global$1
如何防止重命名?
这里去代码
.babelrc
我使用一些插件来转换我的代码
{
"presets": [
[
"env",
{
"modules": false
}
]
],
"plugins": [ // I use some plugins to transform my code
"external-helpers",
"transform-object-rest-spread",
"transform-object-assign"
]
}
rollup.config.js
中:我尝试使用rollup-plugin-inject
用于解决问题Prevent rollup from renaming Promise to Promise$1
,但它没有用,所以我认为重命名是由于作者:Bable Plugin {
plugins: [
paths,
resolve({
jsnext: true,
main: true
}),
commonjs({
include: 'node_modules/**'
}),
inject({ // use `rollup-plugin-inject`
global: './global.js'
}),
babel({
exclude: 'node_modules/**'
})
]
}
}
global.js
:导出变量' global' var global = this
export default global
index.js
:导入变量' global' import global from './global'
console.log('index.js:', global);
并转换为代码:
'use strict';
var global = this;
console.log('index.js:', global);
然而,当我添加如下代码时:
index.js
:添加将由Babel Plugin Object.assign
'use strict';
var global = this;
let foo = Object.assign({}, { bar: 5 }) // Here ~
然后,在转换之后,结果是:
'use strict';
var global$1 = this; // the global is renamed to global$1
var _extends = Object.assign || ...
var c = _extends({}, { p: 5 });
如您所见,变量global
已重命名为global$1
有什么想法可以防止重命名?