Angularjs 如何摆脱<;参考路径=“参考路径”;

Angularjs 如何摆脱<;参考路径=“参考路径”;,angularjs,typescript,visual-studio-2015,resharper,typescript1.8,Angularjs,Typescript,Visual Studio 2015,Resharper,Typescript1.8,对不起大家,我一直在努力理解为什么我需要 /// <reference path="../typings/browser.d.ts" /> module App { angular.module("app", [""]); } 我已经找到了一些关于的帖子,但每次都有不同的答案和不同的场景 我将Visual Studio 2015与ReSharper,TypeScript 1.8.5 一旦我从中删除: 如果tsconfig.json中不存在“files”属性,则编译器 默认

对不起大家,我一直在努力理解为什么我需要

/// <reference path="../typings/browser.d.ts" />

module App {
    angular.module("app", [""]);
}
我已经找到了一些关于的帖子,但每次都有不同的答案和不同的场景

我将
Visual Studio 2015
ReSharper
TypeScript 1.8.5

一旦我从中删除

如果tsconfig.json中不存在“files”属性,则编译器 默认情况下,将所有TypeScript(*.ts或*.tsx)文件包含在 包含目录和子目录。当“文件”属性为 当前,仅包含指定的文件

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


或者,您可以使用
导入
导出
模块语法。

我使用一个_reference.ts文件和我使用的所有引用的*.d.ts数据库。typescript编译器将其信息用于有关js lybraries的导入防御。这里使用的第二种情况是管理ts文件包含到结果js文件中的顺序。换句话说,如果在生成的js中将文件B.ts中的引用添加到A.ts中,则将首先包含A.js,然后包含B.js。它不是经常需要的,因为TSC是智能的,并且使用按类型排序的文件,但有时它是有用的,然后在B.ts中动态地使用A.ts中的一些suff(不是stronrly类型)。

谢谢,但是如果我删除
文件
属性,我在构建应用程序时会遇到上千个错误。如果我添加例如:
文件:[“typings/browser.d.ts”]
我仍然会收到相同的警告:“找不到名称‘angular’”,您会收到多少“千个错误”?您的
typings
目录是否与您的
tsconfig.json
目录位于同一目录中?是的,同一目录:这里要澄清一点:一旦我删除了“文件”。我不得不把“打字”作为排除文件夹的一部分,现在VisualStudio不再抱怨了。感谢
tsconfig
文件的含义是避免引用,因此使用_reference.ts没有意义,也无法解决我的问题。我使用_reference仅用于错误检查,而不是用于构建。我使用gulp执行简单任务:var destPath=“/Scripts”,soucesFiles=[“/../***.ts”,“./Lib/*.d.ts]”;tsResult=gulp.src(soucesFiles).pipe(plumber()).pipe(sourcemaps.init()).pipe(ts({声明:true,目标:“ES5”,noImplicitAny:false,out:“app.js”}))
{
  "compilerOptions": {
    "experimentalDecorators": true,
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "module": "commonjs"
  },
  "files": [

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