gpt4 book ai didi

node.js - nwjs Reactjs,对我的上下文感到困惑。文档未定义

转载 作者:太空宇宙 更新时间:2023-11-03 22:15:04 25 4
gpt4 key购买 nike

在我的 nwjs 应用程序中,我使用 React 来构建我的 UI。目前,React 正在通过 <script> 加载。主文件index.html 中的标签。 index.html 还有另一个 <script>标签加载 main.js,其中包含定义和渲染我的 React 组件的代码,并需要( require() )一些 Node 模块,例如“fs”和“McFly”。

这一切似乎都有效,但是当我尝试使用另一个 Node 模块(react-inlinesvg)时,我收到错误“文档未定义”。

在网上寻求帮助后,我得出的结论是 React 现在认为它正在服务器上运行?这很奇怪,就像在我开始使用react-inlinesvg模块之前一样,它很高兴使用React.render渲染组件。 (客户端渲染)。

如果您需要更多背景信息或信息,请询问。

最佳答案

您可能正在服务器端渲染,也可能正在两侧渲染。在第二种情况下,您可以简单地嵌套导致错误的行:

if (process.env.BROWSER) {
the line causing the error
}

如果错误消失,则说明您也在服务器端!我希望这会有所帮助...

基本上,如果您的代码是 universal (或者同构,如果你想要......)通过此检查,你只能在客户端执行代码,你想这样做以使用特定的样式表,例如:

if (process.env.BROWSER) {
require("../style/main.scss");
}

当然,如果你想在服务器端做一些事情,你可以检查

if (!process.env.BROWSER) {

}

关于node.js - nwjs Reactjs,对我的上下文感到困惑。文档未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31555484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com