2016-10-05 63 views
0

我試圖獲取一個引用Node.js對象的單個TypeScript文件進行編譯。使用Typings編譯單個TypeScript文件

test.ts

import { resolve } from 'path'; 

console.log(`test: ${resolve(__dirname)}`); 

我試圖用tsc test.ts編譯命令行這個文件,並收到以下錯誤:

test.ts(2,25) :錯誤TS2307:找不到模塊'路徑'。
test.ts(4,41):錯誤TS2304:找不到名稱'__dirname'。

我有一個tsconfig.json在我的根,我還安裝了正確的node.js聲明的類型。

什麼工作:

  • 本身與tsc運行 - 但是這一切transpiles項目
  • TS文件添加到test.ts一個參考聲明

    /// <reference path="typings/globals/node/index.d.ts" />

難道不可能使用項目中可用的定義從TypeScript中傳輸單個文件?

回答

1

對於Typescript 1.x,您必須在每個文件中放置一個引用路徑,以便引用作爲導入的任何內容。您仍然可以在不添加參考路徑的情況下使用var foo = require("bar")。如果您可以升級到Typescript 2.x,則可以在tsconfig.json中指定typeRoots屬性,然後您可以排除引用路徑,編譯器將通過您指定的任何目錄進行解析。

相關問題