如何以编程方式将typescript文件呈现为javascript?

时间:2018-01-03 01:02:26

标签: node.js typescript ts-node

我正在试图弄清楚如何以编程方式将一个打字稿文件呈现给javascript文件。

这可能与ts节点有关,例如:

function tsMiddleware (req, res, next) {
    var parsed = require('url').parse(req.url);

    if (parsed.pathname.match(/\.ts$/)) {
        return ts(parsed.pathname).then(function (o) {
            res.setHeader('Content-Type', 'text/js');
            res.end(o.js);
        }).catch((err) => {
            console.log(err);
        });
    }
    next();

    function ts(src) {
        return new Promise((resolve, reject) => {
            require('ts-node').render({
                file: 'src' + src
            }, function (err, res) {
                if (err) {
                    reject(err);
                } else {
                    resolve(res);
                }
            });
        });
    }
}

我不想在nodejs中执行ts文件,而只是编译ts文件并将输出发送回浏览器。

1 个答案:

答案 0 :(得分:1)

以下是一个例子:

const ts = require("typescript")
async function tsTranspile(tsCode) {
    return await ts.transpileModule(tsCode, { /* Here the compiler options */ })
}

如何使用它:

tsTranspile("const f = a => a + 1")
    .then(jsCode => console.log(jsCode))
    .catch(err => console.log("Error:", err))

另请阅读: