需要反应本地模块
我被困在一个反应本地项目的问题。 我试图做一个普通的需求文件,我出口所有的模块。 之后,我想只需要我的“require.js”文件,以避免在每个文件中这样require('../../ ModuleName')的调用。
我有4个文件:
index.ios.js /app/home.js /app/MyView.js /app/require.js
require.js:
module.exports = { Home: require('./home'), MyView: require('./MyView') }
在index.ios.js中(他的模块Home和MyView正在正确导入)
'use strict'; var React = require('react-native'); var { AppRegistry, StyleSheet, Text, View, } = React; var { Home, MyView } = require('./app/require'); class Test_require extends React.Component { render() { return( <Home /> ); } } AppRegistry.registerComponent('Test_require', () => Test_require);
Home.js(模块MyView没有得到重要的)
'use strict'; var React = require('react-native'); var { View, Text } = React; var { MyView } = require('./require'); class Home extends React.Component { render() { console.log(MyView); return( <MyView /> ); } } module.exports = Home;
在Home.js中,MyViewvariables是“未定义的”。 如果我想在模块中需要一个模块,该模块已经被导入到另一个文件中,那么该variables是未定义的。
你们有什么线索,为什么我可以这样做还是有更好的解决scheme,我的问题? 感谢您的任何线索
所以我张贴我自己的答案,以防其他人有同样的问题。
在这样的语法中,所需的文件正在同步加载。 所以如果组件的构build比需要文件快,这个问题就会发生。 或者在你需要时加载你的组件,或者使用像这样的es6导入语法(导入asynchronous加载):
import React from 'react-native'
干杯!
在您的文件头注释中添加@providesModule moduleName
。 你可以使用require('moduleName')在你的项目中的其他地方导入。
看到这个问题 。
顺便说一句,这样一个惊人的function怎么没有logging在任何地方?
- socket.io正式客户端连接问题?
- 从App中的SSO获取access_token时对OAuth2请求的invalid_grant
- 尝试添加ios平台项目时出现Ionic Framwork错误
- 使用ffmpeg进行video转换,以定位Android和iOS移动设备
- 使用Android和iOS在Nodejs中推送通知系统
- 如何使用nodejs / Electron通过USB连接iPhone / Android手机?
- 通过Node.js服务器后端连接两个iOS设备
- 以编程方式在Cordova插件中添加IOSfunction
- 我可以使用APNauthentication密钥.p8文件与PHP发送iOS推送通知?