【问题标题】:TypeScript not resolving fileTypeScript 无法解析文件
【发布时间】:2016-08-16 22:01:58
【问题描述】:

我知道TypeScript outFile usage is not recommended

但在我有时间实施更好的解决方案(例如 AMD)之前,我不得不使用它。

我相信我遇到了“模块拆分问题”。我在同一个目录中有两个文件:

文件引用File.ts:

module my.namespace {

   export class one {
   }

   export class two {
   }
}

文件 anotherClass.ts:

module my.namespace {
  export class anotherClass {
      constructor() {
         // THROWS ERROR "JavaScript runtime error: Object doesn't support this action"
         var x = new my.namespace.one();
      }
   }
}

在运行时,我在尝试实例化新的“one”类时收到错误消息“对象不支持此操作”。在另一个类的构造函数中调试,我可以看到my.namespace.one和my.namespace.two此时不存在。

我在 anotherClass.ts 顶部添加了这一行,但没有解决:

/// <reference path="referencedFile.ts" />

我的 typescript Visual Studio 设置“将 Javascript 输出合并到一个文件中:Scripts\oneFile.js”

我可以在生成的“oneFile.js”中看到,referencedFile.ts 的代码在那里,它在 anotherClass.js 代码之前的文件中,所以我认为没有排序问题。

什么给了?

【问题讨论】:

  • 你使用的是什么版本的 TypeScript?
  • 1.8.36 在 VS 2015 中列出,但我在程序文件中安装了 1.7.6 工具。我删除了 1.7.6 工具,这可能已经解决。将验证但想了解原因
  • 您可能想开始研究the import keyword,因为您使用的是支持它的版本。它取代了/// &lt;reference cmets,并提供了更符合 ECMAScript 最新版本的体验。我不确定您为什么会收到此错误,但这可能与文件的编译方式有关。
  • 我想我可能不得不迁移到外部模块才能使用 import 关键字,但绝对是我想去的地方

标签: javascript visual-studio typescript tsc


【解决方案1】:

发件人:// THROWS ERROR "JavaScript runtime error: Object doesn't support this action"

显然排序错误

outFile指定排序

您可以使用良好的 ol reference 文件技巧。这在这里有很好的记录:https://github.com/TypeStrong/grunt-ts#javascript-generation?

PS:我相信你知道我对这个主题的看法:https://basarat.gitbooks.io/typescript/content/docs/tips/outFile.html,但仍然值得为其他人提及。

【讨论】:

  • 很棒的信息。即使我在 VS 2015 中安装了 1.8.36,问题最终还是安装了 typescript 1.7.6。在 P.S. 上是的。 - 我在我的问题中包含了该链接
【解决方案2】:

即使我在 VS 2015 中安装了 1.8.36,但问题最终还是安装了 typescript 1.7.6

【讨论】:

    猜你喜欢
    • 2018-06-07
    • 2022-09-27
    • 1970-01-01
    • 2019-07-19
    • 2018-05-25
    • 2018-11-10
    • 2018-07-06
    • 2021-03-30
    • 2017-09-21
    相关资源
    最近更新 更多