我使用this method连接typescript编译器的输出。然而,这样做会破坏我对节点中相对路径模块的导入。
以下成功编译&符连接;
// Group.ts
class Group {
doSomething() { ... }
}
export = Group
// Main.ts
import Group = require('./Group');
new Group().doSomething();
但执行它然后抛出;
Error: Cannot find module './Group'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (c:\git\nzb-watch\src\compiled.js:64:13)
at Module._compile (module.js:397:26)
at Object.Module._extensions..js (module.js:404:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:429:10)
at startup (node.js:139:18)
at node.js:999:3
如何在不抛出此错误的情况下实现已编译js的连接?
答案 0 :(得分:3)
不是要求TypeScript编译器将所有内容都推送到单个文件中,而是应该使用模块捆绑器,它将负责创建捆绑包,然后在运行时从捆绑包中加载模块。这里有很多捆绑包,包括rollup,webpack,browserify等等。
答案 1 :(得分:0)
import ... require是针对js文件的。转到ts后,使用import ... from
import Group from './Group';