我有以下目录设置:
/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)
有什么想法吗?
答案 0 :(得分:1)
你的代码很好。正在从tsc中删除-e
标志,部分原因是它在这种情况下不能很好地发挥作用。在编译器进程的上下文中执行任意JS结果不是一个好主意。