gpt4 book ai didi

javascript - 以编程方式将 TypeScript 字符串编译为 Javascript 字符串

转载 作者:搜寻专家 更新时间:2023-10-30 20:59:28 24 4
gpt4 key购买 nike

有没有办法将包含 TypeScript 的 String 编译为其 JavaScript String 等价物?

例如,在 Coffeescript(和 LiveScript、coco 等)中,它是一个(简化的)单行代码:


jsCompiledCode = require('coffee-script').compile('do -> console.log "Hello world"', {bare:true});

是否可以为 TypeScript 实现类似的东西,最好不涉及文件系统?引用其他必须在编译时解决的模块是否有任何影响?

最佳答案

可以使用TypeScript自带的transpileModule()方法。

$ npm install typescript
// compile.ts

import * as ts from "typescript";

function tsCompile(source: string, options: ts.TranspileOptions = null): string {
// Default options -- you could also perform a merge, or use the project tsconfig.json
if (null === options) {
options = { compilerOptions: { module: ts.ModuleKind.CommonJS }};
}
return ts.transpileModule(source, options).outputText;
}

// Make sure it works
const source = "let foo: string = 'bar'";

let result = tsCompile(source);

console.log(result); // var foo = 'bar';

编译时,您需要将 tsconfig moduleResolution 设置为 "Node"

这将编译/执行上面的示例文件。

$ tsc compile.ts --moduleResolution Node && node compile.js

还有一些documentation .

关于javascript - 以编程方式将 TypeScript 字符串编译为 Javascript 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17965572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com