3

我想测试一些我编写的 Typescript 代码。

到目前为止,我所知道的最好的方法是运行ts-node my-file-name.ts.

但是我想让它更具交互性,类似于 Python REPL 允许您导入模块然后从 REPL 调用函数的方式,但是您愿意。

例如,会话可能看起来像

$ ts-node
> import my-file-name.ts
> myFunctionFromMyFile("specialParam")
> "you just called a function from my-file-name.ts with param specialParam"

这可能ts-node吗?

4

2 回答 2

7

我发现这样做的一种方法如下:

$ ts-node
> import * as abc from './my-file'
> abc.myFunction()
> "works!"
于 2018-09-05T21:24:23.083 回答
1

如果您需要在每个 REPL 会话中自动导入的内容,您可以在文件中公开您的应用程序,然后repl.start在该文件中使用。例如,console.ts像这样创建:

import repl from 'repl';
import * as models from './models';

Object.keys(models).forEach((modelName) => {
  global[modelName] = models[modelName];
});

const replServer = repl.start({
  prompt: 'app > ',
});

replServer.context.db = models;

并使用运行控制台

$ node --require ts-node/register/transpile-only --experimental-repl-await console

更多细节在这里

于 2021-04-30T08:35:24.850 回答