我在Visual Studio2015项目中使用gulp- typescript:"2.9.0“和typescript:"1.6.2”将一个包含angular typescript文件的文件夹编译成一个app.js文件。我遇到的问题是,连接的输出顺序不正确,导致angular抛出异常。最初,我可以更改文件名的字母顺序,我可以获得正确的顺序,但这只是停止工作。我还尝试在"_references.ts“文件中以正确的顺序包含所有文件,但似乎不起作用。我在下面包含了我正在使用的_references.ts文件。文件'app.config.ts‘始终显示在输出的顶部,并且它取决于'app.module.ts’文件。有人有解决这个问题的办法吗?
/// <reference path="../typings/angularjs/angular.d.ts" />
/// <reference path="../typings/jquery/jquery.d.ts" />
/// <reference path="../typings/angularjs/angular-route.d.ts" />
/// <reference path="app.module.ts" />
/// <reference path="app.zconfig.ts" />
/// <reference path="app/framework/framework.module.ts" />
/// <reference path="app/framework/psframework.directive.ts" />
/// <reference path="app/framework/menu/menu.module.ts" />
/// <reference path="app/framework/menu/menu.directive.ts" />
/// <reference path="app/framework/menu/menu-item.directive.ts" />
/// <reference path="app/framework/dashboard/dashboard.module.ts" />发布于 2016-05-04 02:34:35
我设法用gulp-angular filesort插件解决了这个问题。这是完成它的typescript编译任务:
gulp.task('compile', function () {
var pathsArray = paths.js.typescriptDefinitionFile.concat(paths.js.src);
gulp.src(pathsArray)
.pipe(typescript({
target: 'es5',
noImplicitAny: true,
preserveConstEnums: true
}))
.pipe(angularFilesort())
.pipe(concat(paths.js.srcOutputFile))
.pipe(gulp.dest(paths.js.outputFolder));
});我没有使用typescript configuration对象中的out选项为每个.ts文件获取一个.js文件。然后,在使用angular sort插件后,我将它们分别连接起来。
发布于 2015-09-26 05:20:05
使用sortOutput参数-将其设置为true,如下所示
var tscResult = srcResult
.pipe(gulpTypeScript({
typescript: require('typescript'),
sortOutput: true,
target: "ES5",
declarationFiles: true,
noEmitOnError: dontEmitTSbuildErrors,
out: "./obj/" + outFileName + ".js"
}, undefined, gulpTypeScript.reporter.longReporter()));https://stackoverflow.com/questions/32674186
复制相似问题