meteor - ReferenceError:初始化前无法访问“ShareJS”
问题描述
我正在使用流星构建一个协作文本编辑器 Web 应用程序。同样,我添加了一个名为“mizzao:sharejs-codemirror”的包,之后我的应用程序在启动时崩溃并显示以下错误
ReferenceError: Cannot access 'ShareJS' before initialization
at module (packages/mizzao:sharejs/sharejs-server.js:8:24)
at fileEvaluate (packages\modules-runtime.js:336:7)
at Module.require (packages\modules-runtime.js:238:14)
at require (packages\modules-runtime.js:258:21)
at D:\Workspace\web\course4\week (1)\textcircle\.meteor\local\build\programs\server\packages\mizzao_sharejs.js:130:15
at D:\Workspace\web\course4\week (1)\textcircle\.meteor\local\build\programs\server\packages\mizzao_sharejs.js:135:3
at D:\Workspace\web\course4\week (1)\textcircle\.meteor\local\build\programs\server\boot.js:401:38
at Array.forEach (<anonymous>)
at D:\Workspace\web\course4\week (1)\textcircle\.meteor\local\build\programs\server\boot.js:226:21
at D:\Workspace\web\course4\week (1)\textcircle\.meteor\local\build\programs\server\boot.js:464:7
at Function.run (D:\Workspace\web\course4\week (1)\textcircle\.meteor\local\build\programs\server\profile.js:280:14)
at D:\Workspace\web\course4\week (1)\textcircle\.meteor\local\build\programs\server\boot.js:463:13
谁能告诉我哪里可能出错了谢谢。
解决方案
看起来来自这一行:
export const ShareJS = ShareJS || {};
正如错误所说,它试图将变量 ShareJS 分配给 ShareJS 的内容,直到表达式完成后才定义。
这在较旧的 Meteor 版本中可以工作,因为为了支持较旧的浏览器const
,声明被转换为var
(使用一些帮助程序来防止重新分配)。最近,Meteor 开始为现代浏览器制作现代包,这些包让代码const
保持不变。
不幸的是,这段代码从一开始就不正确,但直到现在才显示为错误。
最简单的方法是自己编辑该行。您可以通过从 github 下载源代码到packages
您的应用程序文件夹中来创建本地分支。然后将 更改const
为var
。
您将需要编辑sharejs-base
包。
或者,您可以使用来自 npm 的最新版本的 ShareJS,并自己实现服务器和客户端部分。
推荐阅读
- php - 如何替换字符串中单词的所有偶数匹配项?
- python - 不明白 openpyxl 模块中 Worksheet 的 append 方法是如何工作的
- python - 在 Kivy 中显示 SVG 文件
- arduino - 如何通过串行通信正确发送和接收多个传感器的数据
- angular - 我正在做一个 Angular 项目。我需要使用 router.navigate 将数组从一个组件传递到另一个组件,但无法做到
- javascript - 使用地点 ID javascript 呈现谷歌评论
- scala - 在 DAG 中为 Spark 中的相同操作生成重复作业
- javascript - javascript中的嵌套排序
- vb.net - VB.net datagridview 颜色基于从今天起多少天
- javascript - Angular 6:如何将 css 和 js 文件从 mvc 的 cshtml 页面使用到 Angular 项目中