【问题标题】:Meteor crashing "ReferenceError: document is not defined"流星崩溃“ReferenceError:文档未定义”
【发布时间】:2017-10-31 15:56:08
【问题描述】:

我正在尝试使用 React.js 在 Meteor 中创建一个简单的 hello world。当我尝试运行应用程序时,它会因“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.

任何帮助将不胜感激!

【问题讨论】:

  • 您可以尝试将渲染包装在 Meteor.isClient 中吗?例如。 Meteor.startup(() =&gt; { if(Meteor.isClient){ ReactDOM.render(&lt;h1&gt;Hello World&lt;/h1&gt;, document.getElementById('root')); } });

标签: javascript html reactjs meteor


【解决方案1】:

我感觉这种情况正在发生,因为您的代码正试图与客户端一起在服务器中运行。而且由于服务器上没有document,所以它抛出了一个错误。

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

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

【讨论】:

    【解决方案2】:

    您的 main.js 似乎在 Client 中,大写 C。尝试将 Client 文件夹重命名为 client

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

    【讨论】:

    • 谢谢,很好。好像这样可以解决,等我回家试试:)
    猜你喜欢
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多