Javascript 从ES6模块导入旧版js代码
我使用babel.js,在代码中有一个新的模块foo foo.js:Javascript 从ES6模块导入旧版js代码,javascript,ecmascript-6,babeljs,es6-module-loader,Javascript,Ecmascript 6,Babeljs,Es6 Module Loader,我使用babel.js,在代码中有一个新的模块foo foo.js: export function foo(number) { return number + 42; } ... var result = foo(0); ... 还有一堆大的旧文件,所有东西都是全球性的。我需要从遗留代码中调用一个foo函数 bar.js: export function foo(number) { return number + 42; } ... var result =
export function foo(number) {
return number + 42;
}
...
var result = foo(0);
...
还有一堆大的旧文件,所有东西都是全球性的。我需要从遗留代码中调用一个foo函数
bar.js:
export function foo(number) {
return number + 42;
}
...
var result = foo(0);
...
但我不能只导入foo,因为我的bar.js将是一个模块,无法从其他旧代码中获得。有办法导入模块吗
是否保留我的bar.js global?最近我遇到了类似的问题。我用遗留代码中需要的所有东西污染了
窗口
对象
为此,我创建了单独的register.js
模块,并将其包含到我的网页构建中:
import ClassA from './ClassA'
import ClassB from './ClassB'
import * as utils from './utils'
Object.assign(window, utils)
Object.assign(window, {ClassA, ClassB})
我最近也有类似的问题。我用遗留代码中需要的所有东西污染了
窗口
对象
为此,我创建了单独的register.js
模块,并将其包含到我的网页构建中:
import ClassA from './ClassA'
import ClassB from './ClassB'
import * as utils from './utils'
Object.assign(window, utils)
Object.assign(window, {ClassA, ClassB})
“但我不能只导入foo,因为我的bar.js将是一个模块,无法从其他旧代码中获得”如果你想使用它,你必须导入模块文件。背景是什么?如何在第一种情况下“全局”使用bar.js。您使用的是哪个模块加载器?你能转换到commonjs吗?我使用网页包。在bar.js中,有很多全局变量和函数用于应用程序的其他部分。“但我不能只导入foo,因为我的bar.js将是一个模块,无法从其他旧代码中获得。”如果你想使用它,你必须以某种方式导入模块文件。背景是什么?如何在第一种情况下“全局”使用bar.js。您使用的是哪个模块加载器?你能转换到commonjs吗?我使用网页包。在bar.js中,有很多全局变量和函数用于应用程序的其他部分。这是一个很好的解决方案!伟大的解决方案!