所以我们重写Module._extensions['.ts']方法,在里面读取文件内容,然后调用 ts.transpileModule 来把 ts 转成 js,之后调用 Module._compile 来处理编译后的 js。 这样,我们就可以直接执行 ts 模块了,具体的模块路径是通过命令行参数执行的,可以用 process.argv 来取。 constpath=require('path');constts=require...
Node.js 当 require 一个 js 模块的时候,内部会分别调用 Module.load、 Module._extensions['.js'],Module._compile 这三个方法,然后才是执行。 同理,ts 模块、json 模块等也是一样的流程,那么我们只需要修改 Module._extensions[扩展名] 的方法,就能达到 hook 的目的: 代码语言:javascript 复制 require.exte...
源码不复杂,可以看到espower-source中会先分析 compile 后的代码,然后从代码中提取出 sourcemap( 比如 ts 编译成 js 后的 inlineSourceMap ),这个 sourcemap 是从 ts 到 js 的 sourcemap,然后再将编译后的代码做 power-assert 的封装( 要实现 power-assert 的那种展示效果,是需要对代码做额外包装的 ),同时会生...
在require hook 里面做 ts 的编译,然后后面直接执行编译后的 js,这样就能达到直接执行 ts 文件的效果。 所以我们重写 Module._extensions['.ts'] 方法,在里面读取文件内容,然后调用 ts.transpileModule 来把 ts 转成 js,之后调用 Module._compile 来处理编译后的 js。 这样,我们就可以直接执行 ...
compile (C:\Users\xukailin\AppData\Roaming\npm\node_modules\ts-node\src\index.ts:1243:30) at Module.m._compile (C:\Users\xukailin\AppData\Roaming\npm\node_modules\ts-node\src\index.ts:1370:30) at Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (...
具体实现方式是在 require hook 中读取文件内容,使用 ts.transpileModule 方法将 TypeScript 代码转换为 JavaScript 代码,然后通过 Module._compile 方法执行编译后的 JavaScript 代码。这个工具通过命令行参数接收待执行的 TypeScript 文件路径。除了直接执行模式,ts-node 还支持 repl 模式,允许用户在命令...
<anonymous> (E:\node\ts-node-starter\node_modules \ts-node\register\index.js:1:16) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) Waiting for the debugger to ...
查了一圈发现这个 https://stackoverflow.com/questions/51610583/ts-node-ignores-d-ts-files-while-tsc-successfully-compiles-the-project 。ts-node 7.0.0 以上就不自动识别 tsconfig.json 了,得加上 --files 才能识别,好吧。结果还是 按照 stackoverflow 上的提示肯定是可以识别 tsconfig....
atwrapSafe(internal/modules/cjs/loader.js:979:16)at Module._compile(internal/modules/cjs/loader.js:1027:27)at Module.m._compile(/Users/likai/Documents/WebProject/ts-node-utils/node_modules/ts-node/src/index.ts:1311:23)at Module._extensions..js(internal/modules/cjs/loader.js:1092:10)at ...
Compiles your TS app and restarts when files are modified. - wclr/ts-node-dev