2015-04-23 1 views
1

Я использую генератор углового ползучего генератора для одного из моих проектов, и, если я запускаю grunt build, мой index.html перезаписывается с помощью вложенных зависимостей, которые обнаруживают на вставке. Проблема в том, что я хочу указать загрузку некоторых модулей в определенном порядке или просто хочу игнорировать определенную папку. Как я могу это сделать? В настоящее время некоторые файлы javaScript загружаются в неправильном порядке, и каждый раз, когда я запускаю сборку grunt, я получаю сообщение об ошибке.Grunt указать порядок инъецированных файлов в index.html

ответ

3

вы можете использовать массивы, чтобы задать порядок, например

// Inject application script files into index.html 
 
scriptsVendor: { 
 
    options: { 
 
     transform: function(filePath) { 
 
     filePath = filePath.replace('/app/', ''); 
 
     return '<script src="' + filePath + '"></script>'; 
 
     }, 
 
     starttag: '<!-- injector:js -->', 
 
     endtag: '<!-- endinjector -->' 
 
    }, 
 
    files: { 
 
     'app/index.html': [ 
 
     [ 
 
      'app/lib/js/jquery.js', 
 
      'app/lib/js/bootstrap.js', 
 
      'app/lib/js/angular.js' 
 
     ], 
 
     [ 
 
      'app/lib/js/angular-*.js', 
 
      'app/lib/js/ui-*.js' 
 
     ] 
 
     } 
 
    }

Так что, прежде чем загрузить jquery затем bootstrap, angular. В следующем блоке все угловые модули начинаются с angular- и ui-.

игнорировать определенные файлы или папки

!app/lib/js/*.min.js 
!app/lib/js/folder_to_ignore/*.js 

Даже если немного поздно, я надеюсь, что это помогает :-)

0

в моем случае у меня есть несколько угловых модулей, с конфигурацией и запуском функции, отделено над три файла, называемые xyz.module.js, xyz.config.js, xyz.run.js

Gulp ищет все файлы .js: «**/*. js» и алфавитный порядок используется при инъекции, следовательно * .module.js загружается после * .config.js, который предоставляет ошибки в отсутствии определения модуля xyz.

Поэтому заказ должен быть переключен. Я не хочу использовать жестко заданные массивы, я хочу использовать подстановочные знаки.

Решение, которое делает это в моем случае: https://ww

использования (в gulpfile):

var angularFilesort = require('gulp-angular-filesort'); 
gulp.src(['./src/app/**/*.js']).pipe(angularFilesort())