我们在构建服务器上使用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"
]
}发布于 2016-10-17 14:22:37
确实不鼓励使用outfile。Basarat在你链接的页面上解释
如果您的代码依赖于任何形式的js排序,那么您将在运行时得到随机错误。
继续你问题的第二部分。
归根结底,你想要使用什么模块系统主要是一个意见问题。
因为..。
<代码>F211相同
主观上,CommonJS似乎是最流行的(我想部分原因是它有历史,部分原因是当你自动生成tsconfig.json时,它是默认的。AMD也在四处传播,require曾经是一个流行的模块加载器,对那些想要动态加载JS资产的人来说特别有趣。SystemJS现在是JS社区的新热点,它也有自己的模块规范,但它可以加载所有其他模块,所以我不知道有什么令人信服的理由使用系统格式而不是其他替代格式。
在你开始关心动态加载之前,就选一个最美观或者名字最酷的吧。
https://stackoverflow.com/questions/40079295
复制相似问题