2013-07-23 97 views
0

我有以下的目錄設置:打字稿:tsc.exe --execute:錯誤無法找到模塊

/app/ioc.ts 
/tests/test.ts 

我在測試目錄很。的app/ioc.ts內容是不重要的,但tests/test.ts內容是:

import IOC = module('../app/ioc'); 
var container = new IOC.Container(); 

如果我編譯這個像這樣:

tsc test.ts 

然後像這樣運行:

node test 

所有的好!該文件運行沒有錯誤。然而!如果我運行這樣的:

tsc -e test.ts 

我得到以下錯誤:

module.js:340 
    throw err; 
     ^
Error: Cannot find module '../app/ioc' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (D:/dropbox/work/sandbox/Prototyping/TypeScript/tests/test.js:1:73) 
    at Module._compile (module.js:456:26) 
    at Object.run (C:\Users\nathan\AppData\Roaming\npm\node_modules\typescript\bin\tsc.js:56041:30) 
    at BatchCompiler.run (C:\Users\nathan\AppData\Roaming\npm\node_modules\typescript\bin\tsc.js:56563:29) 
    at BatchCompiler.batchCompile (C:\Users\nathan\AppData\Roaming\npm\node_modules\typescript\bin\tsc.js:56795:26) 
    at Object.<anonymous> (C:\Users\nathan\AppData\Roaming\npm\node_modules\typescript\bin\tsc.js:56908:7) 

任何想法?

回答

1

你的代碼沒問題。 -e標誌正從tsc中刪除,部分原因是它不能很好地處理這種情況。在編譯器過程的上下文中執行任意JS並不是一個好主意。

+0

啊,羅傑。謝謝。 –