我不确定这是否是Meteor中的已知问题。他们确实说他们不支持1.2中的模块,但我不知道这是模块问题还是其他问题。
我正在尝试使用ES6类构建我的React组件,如下所示:
const {Router, Route} = ReactRouter;
Meteor.startup(function() {
React.render((
<Router>
<Route path="/" component={App} />
</Router>
), document.body)
});
然后我添加这条路线:
Uncaught ReferenceError: App is not defined
如果它们都是相同的.jsx文件,则运行正常。不幸的是,如果我将应用程序和路由器拆分为单独的文件,它就不起作用。我从浏览器中得到了这个:
{{1}}
有什么想法吗?如果我回到createClass()语法,它在两个单独的文件中工作正常。我尝试添加一个“导出类”,它不起作用,它返回一个“意外的保留字”错误。
显然这不是一个大问题,我当然可以使用createClass语法,但我正在构建一个新的应用程序,并认为我会尝试使用最新和最好的。
谢谢! --Ivan
答案 0 :(得分:3)
将您的第一行更改为:
App = class App extends React.Component {
将“App”放入全局命名空间。
答案 1 :(得分:1)
选中此demo并将universe:modules
添加到您的模块中。尝试在app.jsx
:
export default class App extends React.Component {
render() {
return <p>Hello World</p>
}
}
在你的父母:
import App from "./app"