调用TypeScript编译器作为NPM模块

我有一个用TypeScript编写的项目,我使用一个任务运行器来build立(无论:Gulp,Jake等)。 我使用的TypeScript编译器是我从NPM安装的:

npm install typescript 

重要提示:正如你所看到的,没有全局的-g参数,这是有意的。 因为我需要使用特定版本的编译器进行一些修改。

以编程方式调用tsc

所以我想从configuration我的任务pipe理器的Javascript文件调用编译器:

 var tsc = require("typescript"); function compile() { tsc.compile(...); // I would like to do something like this } 

我可以这样做吗? 我已经试过了,但是到目前为止没有得到太多的运气。

你当然可以。 有许多工具 – tsifyts-nodets-loader ,它们是使用TypeScript Compiler API构build的。

但是,这比单个compile调用稍微复杂一些。

不幸的是, 我们不能像编程那样使用官方的打印机编译器 ,但是这个任务有这样的模块 ,所以你可以通过编程方式使用打印机编译器,但是你可以从控制台调用编译器作为subprocess

  var exec = require('child_process').exec; var compiler = 'typescript'; // make your cmd command here exec(compiler, function(error, stdout, stderr) { // do your staff with stdout here }); 

有关于命令执行的答案 ,你也可以阅读这个