这是我的项目结构。
node_modules
js
app
app.ts
built_js
app
app.js <- compiled from js folder
我有一个tsconfig.json,当通过tsc
运行时,在app.js中正确生成如下所示的模块定义,这里的想法将包含许多文件:
System.register("app/app", ...
tsconfig.json:
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noImplicitAny": false,
"removeComments": true,
"rootDir": "js",
"outFile": "built_js/app/main.js"
}
但是,无论我尝试使用gulp-typescript
构建文件,它都会生成错误的System.register命令,忽略rootDir属性。
System.register("app", ...
gulpfile.js(两个任务都生成以上内容):
var tsProj = ts.createProject('tsconfig.json', {
typescript: typescript
});
gulp.task('tsc', () => {
var tsResult = gulp.src(['js/**/*.ts'], {base: './js/'}).pipe(ts(tsProj));
return tsResult.js.pipe(gulp.dest(''));
});
gulp.task('tscproject', () => {
var tsResult = tsProj.src().pipe(ts(tsProj));
return tsResult.js.pipe(gulp.dest(''));
});
有没有人知道解决这个问题的方法?