Мы используем gulp-typescript на нашем сервере сборки, и внезапно сгенерированный javascript иногда не работает. Мы проследили это до того, что сгенерированный javascript находится в произвольном порядке в сгенерированном файле.
У меня складывается впечатление, что использование outFile — это плохо https://basarat.gitbooks.io/typescript/content/docs/tips/outFile.html и, возможно, пришло время создать правильную модульную систему. Просто кажется странным, что он вдруг терпит неудачу.
Какую модульную систему предпочесть, если это решение?
gulpfile.js выглядит примерно так:
var gulp = require("gulp");
var sourcemaps = require('gulp-sourcemaps');
var ts = require('gulp-typescript');
var tsLint = require('gulp-tslint');
var tsProject = ts.createProject('tsconfig.json', {}, ts.reporter.longReporter());
var config = {
maps: './maps',
scripts: './content/scripts'
};
gulp.task('tslint', function() {
return tsProject.src()
.pipe(tsLint({
configuration: {
rules: { "semicolon": true }
}
}))
.pipe(tsLint.report('verbose'));
});
gulp.task('typescript',['tslint'], function() {
var tsResult = tsProject.src()
.pipe(sourcemaps.init())
.pipe(ts(tsProject))
.pipe(sourcemaps.write(config.maps))
.pipe(gulp.dest(config.scripts));
return tsResult;
});
и tsconfig.json выглядят так:
{
"compilerOptions": {
"declaration": false,
"noEmitOnError": false,
"noImplicitAny": false,
"removeComments": false,
"target": "es5",
"outFile": "application.js"
},
"files": [
"list of all the files"
]
}