我被困在反應原生項目中的問題上。我試圖做一個通用的需求文件,我出口所有的模塊。之後,我想只需要我的「require.js」文件來避免在每個文件中都需要這樣的調用('../../ ModuleName')。需要反應原生模塊
我有4個文件:
index.ios.js
/app/home.js
/app/MyView.js
/app/require.js
require.js:
在index.ios.js(他模塊家庭和MyView的正確越來越importet)
'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中,MyView變量是「未定義的」。如果我想在模塊中需要一個模塊,該模塊已經導入到另一個文件中,則該變量是未定義的。
你們有什麼線索爲什麼我可以做到這一點,或者是否有更好的解決方案來解決我的問題?謝謝你的任何線索
所以,你的意思是'require'是同步的,'import'是異步的?這不是唯一的ES語法差異嗎? – Shaharyar
這不是唯一的區別,但在我的情況下,這是我的問題的解決方案/原因。也許這個鏈接提供了更清晰的主題http://www.researchhubs.com/post/computing/javascript/nodejs-require-vs-es6-import-export.html – vanBrunneren
我看到我的評論中的鏈接已損壞,所以如果有人正在尋找解決方案,請查看http://stackoverflow.com/questions/31354559/using-node-js-require-vs-es6-import-export – vanBrunneren