将vars放入es6中的全局命名空间(故意污染)

时间:2017-12-15 21:33:07

标签: javascript ecmascript-6 create-react-app

我将一个旧项目移动到React(使用create-react-app),并且它有一些混乱的相互依赖的脚本,这些脚本将“var”放入全局命名空间,然后在其他脚本中使用它们。我想使用这些文件中的一些现有函数。这些代码中的一些是预生成的,所以我假设我无法编辑现有的遗留文件。我希望能做到这样的事情:

index.js

import 'legacy-lib/legacy.js'
...
window.b();
ReactDOM.render()

legacy.js

import 'scriptA' // sets var a= {b:someFunc}
import 'scriptB' // var b= a.b fails 
                 // window.b=b this would be fine

但这不起作用。我该怎么办?

0 个答案:

没有答案