我使用gulpfile.js这样编译我的tsconfig.json项目:
var ts = require('gulp-typescript');
var tsProject = ts.createProject('Modeler/tsconfig.json',
{ typescript: require('typescript') });
gulp.task('build:ts', function () {
var tsResult = tsProject.src()
.pipe(ts(tsProject));
return tsResult.pipe(gulp.dest('wwwroot/app'));
});它工作正常,编译我的类型记录文件,并将js文件放入www.root/app文件夹中。
出现了问题,然后我希望TypeScript编译器使用outFile属性输出单个级联文件。
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"module": "commonjs",
"outFile": "modeler.js"
},
"exclude": [
"node_modules",
"wwwroot"
]
}gulp任务确实创建了一个空的输出文件,并创建了内容位于*.ts文件旁边的*.js文件。
如何在不污染源文件夹的情况下创建所需的输出文件?
发布于 2015-10-18 16:26:03
您确定您的TypeScript源中没有外部模块吗?
在这种情况下,我也遇到过类似的行为。使用outFile选项时不允许外部模块,但编译器不会抱怨并释放空文件。此外,外部模块应该发出“某处”(在outDir中)。
如果问题与使用普通tsc -p .的外部模块无关,则使用gulp-typescript的行为方式相同。
发布于 2015-10-19 06:57:25
为此,我建议使用吞咽。做不止一件事情的杯杯套餐违背了Gulp的原则。
var concat = require('gulp-concat');
gulp.task('scripts', function() {
return gulp.src('./lib/*.js')
.pipe(concat('all.js'))
.pipe(gulp.dest('./dist/'));
});发布于 2015-10-18 09:16:59
我相信这就是TypeScript编译器的TypeScript选项。请参见https://github.com/Microsoft/TypeScript/wiki/Compiler-Options,并请查看gulp 文档,它指定:
outDir (字符串)-将输出移到另一个(虚拟)目录。请注意,您仍然需要gulp.dest将输出写入磁盘。
https://stackoverflow.com/questions/33195766
复制相似问题