【问题标题】:Use typings in vscode without reference path for each d.ts在没有每个 d.ts 的参考路径的情况下在 vscode 中使用类型
【发布时间】:2016-09-07 02:35:46
【问题描述】:

我的 TypeScript 和 Typings 使用 Web Analyzer 插件在 vs2015 中工作。我已经解决了所有 vs2015 错误。现在我正在尝试在 vscode 中进行设置。我已经设置了一个 gulp 任务和 vscode 报告:

错误 TS2304:找不到名称“角度”

我可以使用以下行来解决它,但是有没有比单独列出每个文件更简单的方法?也就是说,vs2015 编译 TypeScript 没有问题,并且知道如何使用 Typings 文件。

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

我从 gulp-tsc 开始,也尝试过 gulp-typescript,但都需要这个。

var tsc = require("gulp-tsc");
var typescript = require("gulp-typescript");
var $ = require("gulp-load-plugins")({ lazy: true });

gulp.task("ts-watcher", function() {
    gulp.watch("./app/**/*.ts", ["ts-compile"]);
});

gulp.task("ts-compile", function() {    
    var tsProject = typescript.createProject('tsconfig.json');

    return gulp.src(config.allts) //["./app/**/*.ts"]
        .pipe(typescript(tsProject))
        .pipe(gulp.dest("dest/"));    
});

gulp.task("default", ["ts-watcher"]);

{
"compilerOptions": {
  "module": "amd",
  "rootDir": "src",
  "sourceMap": true,
  "target": "es5",
  "removeComments": true,
  "outFile": "./build/build.js"
},
"compileOnSave": true,
"exclude": [
  "node_modules",
  "typings/main",
  "typings/main.d.ts",
  "packages"
]

}

我的 typings 文件夹与 tsconfig.json 位于同一文件夹中。

重启 VSCode 没有帮助。

这类似于Including d.ts type definition files in VSCode,但我是 1) 包含更多信息,2) 使用 VSCode 1.1.0,以及 3) 我有一个 TSconfig,不是 一个 JSconfig。 jsconfig 有帮助吗?

【问题讨论】:

    标签: angularjs typescript visual-studio-2015 gulp visual-studio-code


    【解决方案1】:

    在您的应用文件夹中添加一个 ma​​in.d.ts 文件。 (或所有 ts 文件所在的 src 文件夹)具有以下内容,(根据您的项目结构检查相对路径)

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

    您可能需要重新启动 VS 代码。

    【讨论】:

    • 另外,我认为你可以将它放在任何文件名的任何TS文件中
    • 是的,您可以将这些引用直接添加到您的 .ts 文件中,但在 vscode 中,如果您的工作区根目录中有 tsconfig.json,则不需要此类引用。请检查您的 tsconfig.json 和 typings 目录是否位于 vscode 工作区的根级别。
    • 我的 tsconfig.json 和 typings 目录都在我网站的根目录中。不添加上述参考路径=“...”
    【解决方案2】:

    也许您不应该像您看起来那样排除typings/main.d.ts。该文件是包含所有已注册类型定义的入口点,因此也包含 angular。

    【讨论】:

    • 我想在vscode和visual studio之间来回切换。这是正确构建视觉工作室所必需的
    【解决方案3】:

    vscode 需要工作空间根目录中的 tsconfig(或 jsconfig)才能自动从工作空间根目录中的类型目录中获取类型定义。 在以下示例中,仅使用浏览器 .d.ts 文件。

    tsconfig.json

    {
        "compilerOptions": {
            "target": "es5",
            "sourceMap": true    
        },
        "exclude": [
            "typings/main.d.ts",
            "typings/main",
            "node_modules"
        ]
    }
    

    要安装其他类型,您可以使用以下typings 命令

    typings install --ambient jquery --save
    

    或使用以下 vscode 扩展之一:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-21
      • 1970-01-01
      • 2023-02-08
      • 1970-01-01
      • 2018-03-20
      • 1970-01-01
      相关资源
      最近更新 更多