Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在nodejs上处理窗口对象以进行reactjs应用程序的服务器端渲染_Javascript_Node.js_Reactjs_Enquire.js_Isomorphic Javascript - Fatal编程技术网

Javascript 如何在nodejs上处理窗口对象以进行reactjs应用程序的服务器端渲染

Javascript 如何在nodejs上处理窗口对象以进行reactjs应用程序的服务器端渲染,javascript,node.js,reactjs,enquire.js,isomorphic-javascript,Javascript,Node.js,Reactjs,Enquire.js,Isomorphic Javascript,我正在尝试为我的reactjs应用程序实现服务器端渲染。 我正在使用webpack构建reactjs应用程序,增强了解析能力,可以在nodejs中导入jsx文件 我的应用程序依赖于第三方库,如enquire.js。 当react应用程序尝试在nodejs上导入inquire.js时,它失败并出现错误 ReferenceError:未定义窗口 由于窗口对象不可用,nodejs 如何处理使用Windows进行服务器端渲染的库 我还没有用过Webpack。然而,我在使用browserify时遇到了类似

我正在尝试为我的reactjs应用程序实现服务器端渲染。 我正在使用webpack构建reactjs应用程序,增强了解析能力,可以在nodejs中导入jsx文件

我的应用程序依赖于第三方库,如enquire.js。 当react应用程序尝试在nodejs上导入inquire.js时,它失败并出现错误
ReferenceError:未定义窗口

由于窗口对象不可用,nodejs
如何处理使用Windows进行服务器端渲染的库

我还没有用过Webpack。然而,我在使用browserify时遇到了类似的问题,我通过创建两个版本解决了这个问题:一个用于browser,一个用于node.js,其中包含要忽略的模块列表。您可以通过添加到webpack配置来实现相同的效果:

{
    plugins: [
        new webpack.IgnorePlugin(/file\.js$/)
    ]
}

然后,您必须通过检查
require()
是否返回假值或带有模块函数的对象来确保您没有调用enquire.js。

如果有人在查看,这仍然是一个非常老的问题

试一试


您能否与browserify分享解决此问题的方法。谢谢这会导致一个
e.code='MODULE_NOT_FOUND';抛出e;}()));错误。不是这样工作的。
if (typeof window === 'undefined') {
  global.window = {};
}