здесь похожий вопрос Запрет накопительного переименования 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"
]
}
{
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
: добавьте Object.assign
, который будет преобразован плагином Babel
'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
Есть какая-нибудь идея, чтобы предотвратить переименование ???