从ES6模块导入到遗留js代码

import from ES6 module to legacy js code

本文关键字:js 代码 ES6 模块 导入      更新时间:2023-09-26

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

foo.js:

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

还有一堆大的旧文件,所有的东西都是全球性的。我需要从遗留代码中调用一个foo函数。

bar.js:

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

但我不能只导入foo,因为那样我的bar.js将是一个模块,无法从其他旧代码中使用。是否有导入模块的方法并保留我的bar.js全局?

我最近遇到了一个类似的问题。我最终用遗留代码中所需的一切污染了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})