使用导入时,TypeScript将不会parsing模块
// Modules/MyModule.ts -------------------------------- import fs = require("fs"); module Hello { export function World(): string { return "Hello World"; } } // Main/App.ts ---------------------------------------- console.log(Hello.World()); // Cannot find name 'Hello'
出于某种原因,这会产生上面指定的错误。 奇怪的是,如果我取消注释导入声明,我不会得到这个错误了。 (反正没用过)
两者都产生相同的错误:
tsc Main/App.ts --module "commonjs"
tsc Main/App.ts --module "amd"
这真的是一个编译器错误,或者我错过了一些东西。 我是否需要指定外部模块需要不同?
这个问题非常多 – 在TypeScript中快乐和快乐的关键是select内部模块或外部模块,而不是两者。
我已经写了更多关于在TypeScript中select内部和外部模块的内容 。 底线是只选一个 。
在你的情况下,你需要完全承诺外部模块。 这是一个更新的例子:
// Modules/Hello.ts -------------------------------- import fs = require("fs"); export function World(): string { return "Hello World" }
上述文件的模块名称是Hello
,因为它位于名为Hello.ts
的文件中。
你可以像这样使用它…
// Main/App.ts ---------------------------------------- import Hello = require("./Modules/Hello"); console.log(Hello.World());
ps节点应用程序使用commonjs
模式编译 – 但是这也适用于AMD。