我使用此方法连接打字稿编译器的输出。 但是,这样做会中断导入,我必须相对节点中的路径模块。
以下成功编译和连接;
// 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:gitnzb-watchsrccompiled.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 的串联?
与其要求 TypeScript 编译器将所有内容都塞到一个文件中,不如使用模块捆绑器,该捆绑器将负责创建捆绑包,然后在运行时从捆绑包加载模块。那里有许多捆绑器,包括rollup,webpack,browserify等等。
import ...需要是针对 JS 文件。一旦你移动到ts,你就使用import ... from
import Group from './Group';