无心间又看到了Meteor的官网,随便点了两下,发现官网的Tutorial居然直接使用了React,记得在大学的时候曾经学过一段时间Meteor,当时学的迷迷糊糊的,主要是Meteor的模板的语法还有先后端直接一块儿干,不是分离的开发方式致使有点懵,此次恰好对照着Tutorial从新学习一下。
根据官网的例子,这里是main.html的代码:html
<title>Todo List</title> </head> <body> <div id="root"></div> </body>
这是main.js的代码:react
import { Meteor } from 'meteor/meteor'; import ReactDOM from 'react-dom'; import App from './app.js'; Meteor.startup(() => { ReactDOM.render(<App />, document.getElementById('root')); });
这是app.js的代码:后端
class App extends React.Component{ render(){ return <div> <h1>Hello,World!</h1> </div> } } export default App;
运行的时候,会发生错误:
Uncaught Error:Target container is not a DOM element.
通过一段时间的排查和实验,解决方案以下:
在main.js中插入以下代码:app
import './main.html';
官网中没有说起,只是在Meteor初始化的项目中出现是这样写的,个人理解是main.js应该绑定到main.html中,因此须要引入main.html,链接main.html中的target container.dom