Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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
Ruby on rails ReferenceError:未使用Ruby on Rails服务器端呈现上的ReactJS定义导航器_Ruby On Rails_Reactjs_Webpack_Server Side Rendering_Ckeditor5 - Fatal编程技术网

Ruby on rails ReferenceError:未使用Ruby on Rails服务器端呈现上的ReactJS定义导航器

Ruby on rails ReferenceError:未使用Ruby on Rails服务器端呈现上的ReactJS定义导航器,ruby-on-rails,reactjs,webpack,server-side-rendering,ckeditor5,Ruby On Rails,Reactjs,Webpack,Server Side Rendering,Ckeditor5,我正在使用Rails上的ReactJS在Rails应用程序上使用webpack编译我的ReactJS客户端。我创建了一个React组件,该组件按照中的建议导入ckeditorlibraries 安装和配置@ckeditor5后,将编译客户端。但是,当我在localhost:3000上浏览网站时,服务器端呈现在每个页面上都会失败,并出现以下错误: ReferenceError:未定义导航器 以下是回溯: Object../node_modules/@ckeditor/ckeditor5-utils

我正在使用Rails上的ReactJS在Rails应用程序上使用
webpack
编译我的ReactJS客户端。我创建了一个React组件,该组件按照中的建议导入
ckeditor
libraries

安装和配置
@ckeditor5
后,将编译客户端。但是,当我在
localhost:3000
上浏览网站时,服务器端呈现在每个页面上都会失败,并出现以下错误:

ReferenceError:未定义导航器

以下是回溯:

Object../node_modules/@ckeditor/ckeditor5-utils/src/env.js ((execjs):121221:17)
__webpack_require__ ((execjs):55:30)
Object../node_modules/@ckeditor/ckeditor5-utils/src/keyboard.js ((execjs):121652:12)
__webpack_require__ ((execjs):55:30)
Object../node_modules/@ckeditor/ckeditor5-engine/src/view/uielement.js ((execjs):90071:17)
__webpack_require__ ((execjs):55:30)
Object../node_modules/@ckeditor/ckeditor5-engine/src/view/writer.js ((execjs):90991:18)
__webpack_require__ ((execjs):55:30)
Object../node_modules/@ckeditor/ckeditor5-engine/src/view/view.js ((execjs):90336:15)
__webpack_require__ ((execjs):55:30)
我的网页包编译存在于单个块中


我不知道怎么解决它

CKEditor设计用于在浏览器上运行,因为它是一个Javascript库。正如您所知,React-on-Rails将Rails与React前端框架(服务器呈现)集成在一起。因此,通过服务器端呈现,您的react组件首先在服务器上呈现为HTML

Webpack将模块捆绑在一起,首先提供给服务器,然后提供给浏览器。因此,
ckeditor
库与服务器无关,因为它是一个JS库。因此,未定义导航器被抛出。 然而,
ckeditor
可以很好地考虑客户端渲染,因为模块直接提供给浏览器


由于用例最少,所以有一些WYSIWYG编辑器兼容在服务器上运行。据我所知,您可以选择在Node上运行。

在何处运行此代码?这是一行失败的代码:。这很奇怪,它是一个由webpack创建的块,在服务器端渲染中运行。我猜这是因为服务器不知道
navigator
。但从这里开始,我不知道如何进一步,我们可以将代码移动到函数中(因此,在对模块求值后不会执行该代码)。但我们需要确定这是真的发生了。你认为你可以报告这方面的最低限度的样本吗?当然,我会尽可能详细地提出一个问题