2015-06-15 51 views
1

如果我誤解了原諒我,但我認爲如果我在項目根目錄中使用了tsconfig.json文件,那麼我將不再需要使用任何///<reference path="..." />標記來使我的代碼編譯。我錯了嗎?如何在不使用任何引用的情況下編譯TypeScript

例如,我正在使用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時,出現一個錯誤,提示「無法找到名稱」。編譯代碼時如何使TypeScript編譯使用angular.d.ts文件?

回答

2

運行tsc App.ts將不起作用,因爲正在指定文件。從文檔按照說明:使用

tsconfig.json

  • 通過與沒有輸入文件調用tsc,在這種情況下爲tsconfig.json文件在當前目錄開始,持續的編譯器搜索上級目錄鏈。
  • 通過調用tsc,沒有輸入文件和一個指定包含tsconfig.json文件的目錄路徑的-project(或者只是-p)命令行選項。

當在命令行上指定輸入文件時,tsconfig.json文件被忽略。

Source

+0

閱讀文檔 - 希望我能想到這一點! :) – battmanz

相關問題