Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从ES6模块导入旧版js代码_Javascript_Ecmascript 6_Babeljs_Es6 Module Loader - Fatal编程技术网

Javascript 从ES6模块导入旧版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 =

我使用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 = 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中,有很多全局变量和函数用于应用程序的其他部分。这是一个很好的解决方案!伟大的解决方案!