从 ES6 模块导入遗留 js 代码

import from ES6 module to legacy js code

我使用 babel.js 并且在我的代码中有一个新模块 foo

foo.js:

export function foo(number) {
    return number + 42;
}

还有一堆大的旧文件,其中所有内容都是全局的。我需要从那个遗留代码中调用一个 foo 函数。

bar.js:

 ...
 var result = foo(0); 
 ...

但我不能只导入 foo,因为那样我的 bar.js 将是一个模块,无法从其他旧代码中获取。有没有办法导入模块 并保留我的 bar.js global?

我最近遇到了类似的问题。我最终用遗留代码中需要的一切污染了 window 对象。

我为此创建了单独的 register.js 模块并将其包含到我的 webpack 构建中:

import ClassA from './ClassA'
import ClassB from './ClassB'
import * as utils from './utils'

Object.assign(window, utils)
Object.assign(window, {ClassA, ClassB})