首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReferenceError:在初始化之前无法访问“”ShareJS“”

ReferenceError:在初始化之前无法访问“”ShareJS“”
EN

Stack Overflow用户
提问于 2020-06-13 13:41:08
回答 1查看 677关注 0票数 1

我正在使用meteor构建一个协作式文本编辑器web应用程序。同样,我添加了一个名为"mizzao:sharejs-codemirror“的包,之后我的应用程序在启动时崩溃,并显示以下错误

代码语言:javascript
复制
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

有没有人能告诉我我可能会错在哪里谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-06-14 10:19:01

看起来这句话来自this line

代码语言:javascript
复制
export const ShareJS = ShareJS || {};

正如错误所述,它试图将变量ShareJS赋给ShareJS的内容,直到表达式结束后才定义该变量。

这在较旧的Meteor版本中是有效的,因为为了支持较旧的浏览器,const声明被转译为var (使用一些帮助程序来防止重新赋值)。最近,Meteor已经开始为现代浏览器生产现代捆绑包,这使得像const这样的代码原封不动。

不幸的是,这段代码从一开始就是不正确的,但直到现在才显示为错误。

最简单的解决方法是自己编辑这条线。你可以通过从github下载源代码到你的应用程序的packages文件夹来创建一个本地分支。然后将const更改为var

您将需要编辑sharejs-base包。

或者,您可以使用来自npm的最新版本的ShareJS,并自己实现服务器和客户端部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62355979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档