我试图使用React.js在Meteor中做一个简单的hello世界。当我尝试运行应用程序时,它" ReferenceError崩溃:文档未定义"。这个错误对我来说没有意义,文档怎么可能未定义?
<head>
<title>Testing 123</title>
</head>
<body>
<div id="root"></div>
</body>
import React from 'react';
import ReactDOM from 'react-dom';
Meteor.startup(() => {
ReactDOM.render(<h1>Hello World</h1>, document.getElementById('root'));
});
C:\Users\Klynicol\AppData\Local\.meteor\packages\meteor-tool\1.4.4_3\mt-os.windows.x86_32\dev_bundle\server-lib\node_modules\fibers\future.js:280
throw(ex);
^
ReferenceError: document is not defined
at Client/main.js:18:28
at Function.time (c:\MeteorTut\meteortut\.meteor\local\build\programs\server\profile.js:309:28)
at c:\MeteorTut\meteortut\.meteor\local\build\programs\server\boot.js:312:13
at c:\MeteorTut\meteortut\.meteor\local\build\programs\server\boot.js:353:5
at Function.run (c:\MeteorTut\meteortut\.meteor\local\build\programs\server\profile.js:510:12)
at c:\MeteorTut\meteortut\.meteor\local\build\programs\server\boot.js:351:11
Exited with code: 1
Your application is crashing. Waiting for file change.
非常感谢任何帮助!
答案 0 :(得分:4)
我感觉这种情况正在发生,因为您的代码试图在服务器旁边与客户端一起运行。由于服务器上没有document
,因此它会抛出错误。
这可能是因为您拥有的客户端目录。它的名称为Client
,而不是client
。我不完全确定目录结构是否区分大小写,但将Client
重命名为client
并进行操作。
啊!看起来@Damien Monni打败了我......
答案 1 :(得分:3)
看来你的main.js在客户端有一个大写字母C.尝试将Client
文件夹重命名为client
。
这会导致您的代码在服务器端运行,而文档未定义。