無心間又看到了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