Ili*_*oly 13 node.js typescript
使用咖啡脚本很容易做到这一点.
var coffee = require('coffee-script');
coffee.compile("a = 1");
//=> '(function() {\n var a;\n\n a = 1;\n\n}).call(this);\n'
Run Code Online (Sandbox Code Playgroud)
有没有办法用打字稿做到这一点?
编辑:也发布在codeplex上
top*_*pek 14
现在似乎有一个更简单的解决方案,你可以这样做:
let ts = require('typescript');
let source = ts.transpileModule('class Test {}', {}).outputText;
Run Code Online (Sandbox Code Playgroud)
这导致:
"use strict";
var Test = (function () {
function Test() {
}
return Test;
}());
Run Code Online (Sandbox Code Playgroud)
由于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);
}
});
Run Code Online (Sandbox Code Playgroud)
已经打开一个问题来请求TypeScript模块的公共接口.
better-require可以帮助您实现这一目标.
它允许你需要()typescript文件 - 不需要预编译 - 以及一堆其他文件格式(coffeescript,clojurescript,yaml,xml等)
require('better-require')();
var myModule = require('./mymodule.ts');
Run Code Online (Sandbox Code Playgroud)
披露:我写的更好 - 要求.
通过niutech 检查这个github项目,它可以在浏览器中动态地将TypeScript代码转换为JS代码,但我想它可以很容易地修改为在node.js中工作.
我在调查我的live,firebug启发的代码编辑器中支持TypeScript的可能性时发现了它.
| 归档时间: |
|
| 查看次数: |
7411 次 |
| 最近记录: |