如何在不使用任何引用的情况下编译TypeScript

时间:2015-06-15 17:58:14

标签: javascript angularjs typescript tsd

如果我误解了,请原谅我,但我想如果我在我的项目根目录中使用了tsconfig.json文件,那么我将不再需要使用任何///<reference path="..." />标签来使我的代码编译。我错了吗?

例如,我使用AngularJS。我的App.ts文件看起来像这样:

import SomeModule from './whatever/SomeModule';

angular.module('foo', [SomeModule.name]).run(...);

我的tsconfig.json文件(部分)看起来像这样:

{
    "compileOnSave": false,
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs"
    },
    "filesGlob": [
        "./www/**/*.ts",
        "./typings/**/*.ts"
    ],
    "files": [
        /* a bunch of files omitted for brevity*/
        "./typings/angularjs/angular.d.ts"
    ],
}

请注意,我已在文件数组中列出了角度定义文件的路径。另请注意,我将compileOnSave选项设置为false。最后我想使用Browserify来编译和捆绑所有代码。但是现在我只想看看我是否可以使用tsc进行编译。

但是当我运行tsc App.ts时,我收到的错误是“#34;找不到姓名&#39; angular&#39;。&#34;在编译代码时如何使TypeScript编译使用angular.d.ts文件?

1 个答案:

答案 0 :(得分:2)

正在运行tsc App.ts因为正在指定文件而无法正常工作。按照文档中的说明进行操作:

  

使用tsconfig.json

     
      
  • 通过在没有输入文件的情况下调用tsc,在这种情况下,编译器将从当前目录开始搜索tsconfig.json文件并继续向上运行父目录链。
  •   
  • 通过调用tsc没有输入文件和-project(或只是-p)命令行选项来指定包含tsconfig.json文件的目录的路径。
  •   
     

在命令行中指定输入文件时,将忽略tsconfig.json文件。

     

Source