【问题标题】:How to get rid of <reference path="如何摆脱 <reference path="
【发布时间】:2016-07-02 11:13:34
【问题描述】:

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

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

module App {
    angular.module("app", [""]);
}

我正在使用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 一起使用

一旦我删除&lt;reference... 标签ReSharper“找不到名称'angular'”,但应用程序运行正常。 (可能是因为它再也找不到智能感知了)

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

【问题讨论】:

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


    【解决方案1】:

    来自docs on tsconfig

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

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

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

    【讨论】:

    • 谢谢,但如果我删除 files 属性,我会在构建应用程序时遇到数千个错误。如果我添加例如:files: ["typings/browser.d.ts"] 我仍然会收到相同的警告“找不到名称 'angular'”
    • 你得到了什么“成千上万的错误”?您的typings 目录是否与您的tsconfig.json 位于同一目录中?
    • 是的,同一个目录:这里更清楚一点:stackoverflow.com/questions/36080113/…
    • 一旦我删除了“文件”。我不得不将“打字”作为排除文件夹的一部分,现在 Visual Studio 不再抱怨了。谢谢
    【解决方案2】:

    我使用一个 _reference.ts 文件,其中包含我使用的所有引用的 *.d.ts 库。 typescript 编译器使用它的信息来导入关于 js 库的定义。使用引用的第二种情况是管理包含到生成的 js 文件中的 ts 文件的顺序。换句话说,如果您在文件 B.ts 中添加对 A.ts 的引用,则生成的 js 将首先包含 A.js,然后包含 B。它不是经常需要的,因为 TSC 是智能的,并且按类型排序文件,但有时它很有用,然后你在 B.ts 中动态使用 A.ts 的一些内容(不是严格类型)。

    【讨论】:

    • tsconfig 文件的意思是避免引用,所以使用 _reference.ts 没有意义,也不能解决我的问题。
    • 我使用 _reference 仅用于 VS 中的错误检查。对于构建,我使用 gulp 完成简单的任务: var destPath = "/Scripts", soucesFiles = ["/../**/*.ts", "../Lib/*.d.ts"]; tsResult = gulp.src(soucesFiles) .pipe(plumber()) .pipe(sourcemaps.init()) .pipe(ts({ 声明:真,目标:“ES5”,noImplicitAny:假,出:“app.js " }))
    猜你喜欢
    • 2021-11-19
    • 2014-01-28
    • 2013-10-31
    • 2020-10-19
    • 2019-12-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多