2015-05-29 110 views
0

也許它是重複的,但我搜索了一個小時,但沒有找到答案。Typescript從節點模塊導入ts文件

我有擁有它的依賴中a-module另一個節點模塊b-module名爲a-module節點模塊,其中包含一些.ts文件(例如a.ts)。

我想從a-module導入一些.ts文件到b-module。 在一些文件中b-module我寫:

import a = require('a-module/a'); 
console.log(a); 

然後當我試圖編譯b-module與TSC,是說

Cannot find external module 'a-module/a'. 

我在做什麼錯?

P.S.我有SublimeText的ArcticTypescript插件,看起來它足夠智能地找到a-module/a。爲什麼然後tsc無法找到我的文件?

P.P.S我的文件結構看起來像

b-module/ 
    node_modules/ 
    a-module/ 
     a.ts 
    b.ts 

我試圖導入a.tsb.ts

+0

你能發佈你的目錄結構嗎?像Basarat說的那樣,TypeScript編譯器需要知道模塊的位置。 – mfeineis

+0

@vanhelgen我已經用提供的文件結構更新了我的問題 – Girafa

回答

1

import a = require('a-module/a');

您需要使用相對路徑,即../a-module/a或明確聲明TypeScript,即declare module "a-module/a"

+0

在我通過'npm install'安裝的另一個存儲庫中,如果它是文件'a.ts',我應該在哪裏聲明我的'a-module/a'? – Girafa

+0

在你的模塊裏有一些'.d.ts'文件 – basarat

+0

如果我編寫'import a = require('./ node_modules/a-module/a')'然後編譯。但它看起來很奇怪。爲什麼不像CommonJS那樣導入允許。 – Girafa