Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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 奇怪的typescript错误:";当前作用域中不存在名称g;_Javascript_Node.js_Compiler Construction_Web_Typescript - Fatal编程技术网

Javascript 奇怪的typescript错误:";当前作用域中不存在名称g;

Javascript 奇怪的typescript错误:";当前作用域中不存在名称g;,javascript,node.js,compiler-construction,web,typescript,Javascript,Node.js,Compiler Construction,Web,Typescript,突然,我的代码没有编译,tsc抱怨“名称g在当前范围内不存在”。这是一个非常有趣的错误: 我的代码中没有一个变量、类或接口名为“g” 我没有导入名为“g”的模块 文件本身未命名为“g” 下面是一些代码: export class SpawnMessage implements Message { tag: UID; id: number; } VisualStudio以红色强调“导出”的“e”,并抱怨“没有名称g”。同样的错误消息散布在我的代码中最奇怪的地方 好吧,我想如果

突然,我的代码没有编译,tsc抱怨“名称g在当前范围内不存在”。这是一个非常有趣的错误:

  • 我的代码中没有一个变量、类或接口名为“g”
  • 我没有导入名为“g”的模块
  • 文件本身未命名为“g”
下面是一些代码:

export class SpawnMessage implements Message {
    tag: UID;
    id: number;
}
VisualStudio以红色强调“导出”的“e”,并抱怨“没有名称g”。同样的错误消息散布在我的代码中最奇怪的地方

好吧,我想如果g是如此重要,我会创造它。我在代码顶部添加了一个名为g的变量。错误消息没有消失,只是移动了。例如,现在我的一个评论显然是错误的。真的,如果有人告诉我,我不会相信,所以我做了一个截图: ![g不存在][1]

不仅仅是VisualStudio,还有tsc。我重新启动了IDE和shell,但错误仍然存在。自然,它又换了位置

出了什么问题

更新: 我修复了export-import语句,但这并不影响错误。 这是JSFIDLE上的整个文件。代码相当难看,请记住这是正在进行的工作。事实上,当错误出现时,我正在重构,从那以后就再也没有接触过该文件

目前,在以下三个地方发现了错误:

  • 消息
    界面的右大括号
  • SpawnMessage
  • 游戏中方法
    requestSpawn
    返回语句前面的一些空格
  • 更新2: 我重新启动了VisualStudio和命令提示符。错误依然存在。然后我重新启动我的电脑,错误仍然存在。你可以看出我是绝望的。这就是为什么我把它全部推到github,删除了我的本地副本,并再次克隆了回购协议。错误消失了。这是完全相同的代码,这是完全相同的编译器。它甚至与我的驱动器上的路径相同,但tsc编译代码


    我不会把这篇文章作为我自己问题的答案,因为它确实不令人满意。如果你们中有人能解释这种奇怪的行为,也许这是一个已知的错误,我会很乐意接受他的回答。

    我相信我以前曾多次遇到过这种错误。当它谈到“g”或“b”时,它指的是它为类维护的内部原型继承链。对我来说,当基类
    Message
    在代码流中的子
    SpawnMessage
    之后定义时,会发生此错误或类似的情况。只需首先定义基类


    希望能有所帮助。

    我很惊讶,原来的
    导出导入
    语句没有被捕获,这应该突出显示。您使用的是哪个版本的TS,哪个版本(如果有)的WebEssentials 2012,我们可以看到出现问题的整个类吗?TS的alpha问题之一是,它有时会发现错误,但会错误地报告为其他错误。当然,您可以看到整个代码。但是错误并不局限于一个类。每次编辑后我都会改变位置,基本上到处都会发生。我将创建一个jfiddle来处理整个文件修复导出导入无法解决问题问题是您没有提供我们可以重新创建的示例,因此我们无法帮助您。您需要创建一个最小的示例来演示这个问题,因为只需将代码的一部分扔到墙上,我们甚至不希望编译它,因为缺少引用,这意味着我们无法重新创建您的问题。我为您的示例中所有缺失的代码创建了定义,但我没有得到您描述的错误。考虑到这一点,您的问题在当前形式下无法回答。在第一行末尾添加分号是否可以解决您的问题?