2015-09-19 2 views
0

Я использую gulp-typescript: «2.9.0» и машинопись: «1.6.2» в проекте Visual Studio 2015 для компиляции папки с угловыми файлами в один Файл app.js. Проблема, с которой я сталкиваюсь, заключается в том, что конкатенированный порядок вывода неверен, заставляя углы бросать исключения. Первоначально я смог изменить алфавитный порядок имен файлов, и я мог получить правильный порядок, но это просто перестало работать. Я также попытался включить все файлы в правильном порядке в файл «_resferences.ts», но это, похоже, не работает. Я включил файл _references.ts, который я использую ниже. Файл «app.config.ts» всегда отображается в верхней части вывода и зависит от файла «app.module.ts». У кого-нибудь есть решение для этого?Проблема с порядком компиляции машинописных файлов gulp-typescript, tsc 1.6

/// <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" /> 

ответ

0

параметр Использовать sortOutput - установить его истинную как здесь

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

Выход сортировки не работал для меня. Он по-прежнему будет копировать файлы из порядка, указанного в файле _references. В итоге мне пришлось явно перечислять каждый файл по порядку в коллекции файлов файла tsconfig.json. Проблема заключалась в том, что угловой модуль был объявлен в одном файле, а затем использован в другом. Typcript не понимает этот порядок, поэтому мне нужно его определить. Я перешел на внешние модули вместе. – Brandt

1

мне удалось решить эту проблему с помощью Глоток-угловой FileSort плагин. Это машинописный сборник задачи, которые сделали это:

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)); 
}); 

Я не использовал из опции в объекте конфигурации машинописи, чтобы получить файл .js для каждого файла .ts. Затем, после использования плагина угловой сортировки, я конкатюю их отдельно.

Смежные вопросы