如何摆脱<reference path =“

时间:2016-03-16 14:03:33

标签: angularjs typescript visual-studio-2015 resharper typescript1.8

&lt; p&gt;对不起大家,我一直在努力理解为什么我需要&lt; / p&gt; &lt; pre&gt;&lt; code&gt; ///&lt; reference path =“.. =”“typings =”“browser.d.ts”=“”&gt;&#xa;&#xa; module =“”app =“”{&#xa; =“”angular.module(“app”,=“”[“”]);&#xa;}&#xa; <=“”code =“”>

我正在使用typings,这是我的tsconfig

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "module": "commonjs"
  },
  "files": [

  ],
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}

我发现了几个帖子,但每次都有不同的答案和不同的情景。

我将Visual Studio 2015ReSharperTypeScript 1.8.5

一起使用

删除<reference...代码ReSharper后,&#34;找不到名称&#39; angular&#39;&#34; 但应用程序正常运行。 (可能因为它再也找不到intellisense了)

有没有人遇到同样的问题?我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

来自docs on tsconfig

  

如果tsconfig.json中没有“files”属性,那么编译器   默认包含所有TypeScript(* .ts或* .tsx)文件   包含目录和子目录。当“文件”属性是   目前,只包括指定的文件。

您正在使用空文件数组("files": []),这意味着编译器上下文中不会包含任何文件。将所有引用添加到files数组,或者完全删除files属性,以允许编译器在上下文中包含所有 TS文件。

或者,您可以改为使用importexport模块语法。

答案 1 :(得分:0)

我使用一个_reference.ts文件和我使用的所有引用的* .d.ts lybraries。打字稿编译器使用它来获取有关js lybraries的导入防御信息。使用的第二种情况是管理ts文件的顺序包括到生成的js文件中。如果你将文件B.ts中的引用添加到结果js中的A.ts,则将包含A.js first和B after。它并不经常需要,因为TSC是智能的,并且按类型使用有序文件但是有时它很有用然后你动态地使用B.ts中的A.ts的一些文件(不是严格类型)。