我们正在使用nodejs / webpack构建react / flux应用程序,因此我们所有的新代码都是用commonjs模块编写的。
有一些孤立的案例,我们需要从遗留代码中的一个commonjs模块访问一个对象。有没有办法做到这一点...是的,我认为这是严重的。我们最终将把所有代码迁移到commonjs模块,但这是一个止损。
答案 0 :(得分:0)
在遗留JS代码中(非使用CommonJS),在全局命名空间中创建一个函数:
/* Legacy code NOT using CommonJS */
function getCommonJSObject(obj) {
...
}
在CommonJS代码中,您可以测试此全局函数,如果它存在,请调用它,传递您需要访问的任何对象。
/* CommonJS object */
if(window['getCommonJSObject']){
window.getCommonJSObject(obj);
}
通过这样做,我们仍然可以在我们的应用程序中遵循传统javascript代码中的流量模式。如果有更好的方法,请告诉我们。但这是一个方便的解决方法。