TypeScript:tsc.exe --execute:错误找不到模块

时间:2013-07-23 22:01:26

标签: node.js typescript

我有以下目录设置:

/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 个答案:

答案 0 :(得分:1)

你的代码很好。正在从tsc中删除-e标志,部分原因是它在这种情况下不能很好地发挥作用。在编译器进程的上下文中执行任意JS结果不是一个好主意。