调用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 }
我可以这样做吗? 我已经试过了,但是到目前为止没有得到太多的运气。
你当然可以。 有许多工具 – tsify
, ts-node
, ts-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 });
有关于命令执行的答案 ,你也可以阅读这个