我已经制作了一个小脚本,使用Gulp将使用TypeScript编写的快速服务器转换为JavaScript:
gulp.task("compile:server", () => {
var tsProject = ts.createProject('./tsconfig.json');
var tsResult = gulp.src('server/**/*.ts')
.pipe(sourcemaps.init())
.pipe(ts(tsProject));
return tsResult.js
.pipe(concat('server.js'))
.pipe(sourcemaps.write())
.pipe(gulp.dest('build'))
});
生成的JavaScript如下所示:
System.register(['express'], function(exports_1, context_1) {
"use strict";
var __moduleName = context_1 && context_1.id;
var express;
var app, PORT, logger;
return {
setters:[
function (express_1) {
express = express_1;
}],
execute: function() {
app = express();
PORT = 3000;
logger = function (req, res, next) {
console.log(Date.now() + ': ' + req.baseUrl);
next();
};
app.use(logger);
app.listen(PORT);
}
}
});
但是,当我运行" node server.js"时,我收到以下错误:
ReferenceError:未定义系统。
我发现这很奇怪,因为system.js文件与server.js文件位于同一目录中。帮助非常感谢。