Coffee-Scriptを使用してこれを行うのは非常に簡単です。
var coffee = require('coffee-script');
coffee.compile("a = 1");
//=> '(function() {\n var a;\n\n a = 1;\n\n}).call(this);\n'
typescriptでこれを行う方法はありますか?
編集:codeplexにも投稿されています
Coffee-Scriptを使用してこれを行うのは非常に簡単です。
var coffee = require('coffee-script');
coffee.compile("a = 1");
//=> '(function() {\n var a;\n\n a = 1;\n\n}).call(this);\n'
typescriptでこれを行う方法はありますか?
編集:codeplexにも投稿されています
最近はもっと簡単な解決策があるようですが、次のことができます。
let ts = require('typescript');
let source = ts.transpileModule('class Test {}', {}).outputText;
これにより、次のようになります。
"use strict";
var Test = (function () {
function Test() {
}
return Test;
}());
TypeScriptのNPMモジュールはパブリックインターフェイスをエクスポートしないため、現在これを行う唯一の方法はtsc
プロセスを実行することです。
var exec = require('child_process').exec;
var child = exec('tsc main.ts',
function(error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
better-requireは、これを達成するのに役立ちます。
それはあなたにrequire()typescriptファイル(事前コンパイルは必要ありません)と他のたくさんのファイルフォーマット(coffeescript、clojurescript、yaml、xmlなど)を可能にします
require('better-require')();
var myModule = require('./mymodule.ts');
開示:私はよりよく書いた-require。
niutechによるこのgithubプロジェクトを確認してください。ブラウザで、TypeScriptコードをその場でJSコードに変換できますが、node.jsで機能するように簡単に変更できると思います。
ライブのFirebugにインスパイアされたコードエディタでTypeScriptをサポートする可能性を調査しているときに、それを見つけました。
質問に直接答えることはありませんが、「ノードから直接TypeScriptを実行する」をグーグルで検索すると、このStackOverflowページが表示されるので、ts-nodeでこれを実行できることを追加する必要があります:https ://github.com/TypeStrong /ts-ノード
TypeScriptトランスパイラーAPIを使用して.tsファイルからJavaScriptソースを生成する方法に関する公式ドキュメント:
TypeScriptコンパイラAPIを使用して.tsファイルまたはTSプロジェクトをコンパイルする方法に関する公式ドキュメント
https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#user-content-a-minimal-compiler
(後者は元の質問に答えませんが、ASTにアクセス/変更してからオブジェクト言語にトランスパイルするのが非常に一般的であるため、便利です)