我有一个很大的JavaScript旧版代码库,其中包括演示文稿/数据模型/控制器/连接。我试图用反应术替换演示层技术,同时保留现有的数据模型/控制器/连接零件。因此,第一个问题是,在我构建了ReactNativeComponent之后,我们在其中定义了UI布局,创建了绑定,建立的样式...但是我需要从旧版代码中调用一些JS函数。我如何需要/导入一个现有的JS文件(不是ReactNativeComponent)到一个ReactNativeComponent并使用它?
我之前也有这个问题。我所做的事情,找不到更优雅的解决方案,就是将我的旧代码包裹在模块中。
假设这是foo.js
var Foo = (function() {
var mod = {
init: function() {
// legacy code here...
}
}
return mod;
})()
module.exports = Foo;
然后在调用文件中:
import foo from './somewhere/foo';
foo.init();
我不喜欢这种方法,但它起作用了。希望它能有所帮助。
如果它们纯粹是JS,则可以正常导入它们。如果它们与HTML/CSS/DOM有任何关系,它将丢弃错误。