流星崩溃" ReferenceError:文档未定义"

时间:2017-05-31 02:31:45

标签: javascript html reactjs meteor

我试图使用React.js在Meteor中做一个简单的hello世界。当我尝试运行应用程序时,它" ReferenceError崩溃:文档未定义"。这个错误对我来说没有意义,文档怎么可能未定义?

客户端HTML

<head>
  <title>Testing 123</title>
</head>

<body>
  <div id="root"></div>
</body>

客户端Javascript

    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.

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:4)

我感觉这种情况正在发生,因为您的代码试图在服务器旁边与客户端一起运行。由于服务器上没有document,因此它会抛出错误。

这可能是因为您拥有的客户端目录。它的名称为Client,而不是client。我不完全确定目录结构是否区分大小写,但将Client重命名为client并进行操作。

啊!看起来@Damien Monni打败了我......

答案 1 :(得分:3)

看来你的main.js在客户端有一个大写字母C.尝试将Client文件夹重命名为client

这会导致您的代码在服务器端运行,而文档未定义。