Vm2: 支持打字稿。

创建于 2020-10-12  ·  5评论  ·  资料来源: patriksimek/vm2

你好,有支持打字稿的计划吗?
或者也许有人在生产中使用自定义 ts 编译器,如果是这样,您愿意分享吗?

stale

最有用的评论

您是否尝试过使用TypeScript Compiler API ? 它提供了将 TypeScript 代码动态转换为 JavaScript 代码的方法。 我以前用过它,效果很好。

const {VM} = require('vm2');
const ts = require('typescript');

const vm = new VM();

const res = ts.transpile(`
    let x: number = 3;
    x + 5;
`);

console.log(vm.run(res)); // 8

所有5条评论

我绝对希望看到这一点,因为我试图制作一个执行打字稿代码的不和谐机器人,但我找不到另一个支持沙箱的打字稿执行库,这可能是最好的。
编辑:这个库似乎在幕后使用https://nodejs.org/api/vm.html ,它似乎也不支持打字稿。

您是否尝试过使用TypeScript Compiler API ? 它提供了将 TypeScript 代码动态转换为 JavaScript 代码的方法。 我以前用过它,效果很好。

const {VM} = require('vm2');
const ts = require('typescript');

const vm = new VM();

const res = ts.transpile(`
    let x: number = 3;
    x + 5;
`);

console.log(vm.run(res)); // 8

哦,出于某种原因,我没有想到将它与 vm2 结合使用,哈哈。 我会试试这个,谢谢。

此问题已自动标记为陈旧,因为它最近没有活动。 如果没有进一步的活动发生,它将被关闭。 感谢你的贡献。

也应该可以将ts.transpile为编译器。
```JS
const {VM} = require('vm2');
const ts = require('typescript');

const vm = new VM({编译器:ts.transpile});

console.log(vm.run( let x: number = 3; x + 5; )); // 8

此页面是否有帮助?
0 / 5 - 0 等级