Ruby on rails 使用React rails和Algolia进行服务器端渲染
我正在尝试预渲染react应用程序服务器端,但遇到了一个问题: 只要我Ruby on rails 使用React rails和Algolia进行服务器端渲染,ruby-on-rails,reactjs,react-rails,algolia,Ruby On Rails,Reactjs,React Rails,Algolia,我正在尝试预渲染react应用程序服务器端,但遇到了一个问题: 只要我require('algoliasearch')I获得ReferenceError:XMLHttpRequest未定义 我试图使用mock来模拟XMLHttpRequest,但是我得到了TypeError:无法读取未定义的的属性“0”,毕竟我不认为这是正确的方法 对这个问题有什么想法吗?你在使用nodejs吗?如果是,是哪个版本 使用nodejs 0.12时,我无法再现您的问题: > node -v 0.12.13 &g
require('algoliasearch')
I获得ReferenceError:XMLHttpRequest未定义
我试图使用mock来模拟XMLHttpRequest
,但是我得到了TypeError:无法读取未定义的的属性“0”,毕竟我不认为这是正确的方法
对这个问题有什么想法吗?你在使用nodejs吗?如果是,是哪个版本
使用nodejs 0.12时,我无法再现您的问题:
> node -v
0.12.13
> npm install algoliasearch
node
> var algoliasearch = require('algoliasearch');
undefined
> algoliasearch
{ [Function: algoliasearch] version: '3.4.0', ua: 'Algolia for Node.js 3.4.0' }
嗯,我有0.10
,但是更新到0.12
,仍然有错误。似乎错误与React Rails或ExecJS有关,而与节点本身无关。只要我从react应用程序中删除require('algoliasearch')
,渲染就会工作。。。它可能与algoliasearch
依赖项有关吗?你能准确地完成我做的那行并让我知道它是否有效吗?对,我忘了提到我做了你做的那行,它工作了。奇怪的是,在任何时候你都不应该得到“XMLHttpRequest未定义”。此代码仅在与browserify或webpack一起使用时加载。我不知道什么是execJS,但是的,它似乎与execJS更相关,而不是与node或react。react rails和browserify之间似乎不兼容