首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typescript编译排序问题gulp-typescript,tsc 1.6

Typescript编译排序问题gulp-typescript,tsc 1.6
EN

Stack Overflow用户
提问于 2015-09-20 07:26:32
回答 2查看 1.6K关注 0票数 0

我在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’文件。有人有解决这个问题的办法吗?

代码语言:javascript
复制
/// <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" />
EN

回答 2

Stack Overflow用户

发布于 2016-05-04 02:34:35

我设法用gulp-angular filesort插件解决了这个问题。这是完成它的typescript编译任务:

代码语言:javascript
复制
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插件后,我将它们分别连接起来。

票数 1
EN

Stack Overflow用户

发布于 2015-09-26 05:20:05

使用sortOutput参数-将其设置为true,如下所示

代码语言:javascript
复制
var tscResult = srcResult
        .pipe(gulpTypeScript({
            typescript: require('typescript'),
            sortOutput: true,
            target: "ES5",
            declarationFiles: true,
            noEmitOnError: dontEmitTSbuildErrors,
            out: "./obj/" + outFileName + ".js"
        }, undefined, gulpTypeScript.reporter.longReporter()));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32674186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档