4

Я только начал использовать Yeoman, чтобы поднять новое приложение Angular. Я следовал руководству по установке в generator-angular, но решил использовать глоток вместо хрюка для бегуна задач.

После установки я получил ошибку: task 'wiredep' is not in you gulpfile.

Я попытался запустить сборку с помощью gulp и получил ошибку: TypeError: $.useref.restore is not a function

Если я бегу gulp serve, результирующая страница не зависимости провода.

Есть ошибки в вышеперечисленных ошибках?

Я заметил, что Йоман использует хрюканье, и этот глоток является экспериментальным, поэтому я предполагаю, что вышеупомянутые ошибки ожидаются. Должен ли я размещать его как проблему на странице генератора GitHub?

ответ

1

Я столкнулся с той же проблемой. Я решил это, выполнив приведенные ниже изменения в задачу gulp «client: build». ОДНАКО, решение этого вопроса просто приведет вас к следующей проблеме. Часы не работают, живая перезагрузка не работает, и тогда у меня не было больше времени, пытаясь найти больше проблем. Но я вижу, что ваша ошибка сообщается в Github (ссылка для ссылки: https://github.com/yeoman/generator-angular/issues/1199), поэтому давайте надеяться, что кто-то сможет ее исправить.

Также, как вы сказали, Gulp является экспериментальным в этом генераторе.

gulp.task('client:build', ['html', 'styles'], function() { 
var jsFilter = $.filter('**/*.js'); 
var cssFilter = $.filter('**/*.css'); 

var assets = $.useref.assets({ 
    searchPath: [yeoman.app, '.tmp'] 
}); 

return gulp.src(paths.views.main) 
    .pipe(assets) 
    .pipe(jsFilter) 
    .pipe($.ngAnnotate()) 
    .pipe($.uglify()) 
    .pipe(jsFilter.restore()) 
    .pipe(cssFilter) 
    .pipe($.minifyCss({ 
     cache: true 
    })) 
    .pipe(cssFilter.restore()) 
    .pipe($.rev()) 
    .pipe(assets.restore()) 
    .pipe($.revReplace()) 
    .pipe($.useref()) 
    .pipe(gulp.dest(yeoman.dist)); 
}); 
7

Существует несколько проблем.

первый вопрос старшина обращается проглатывать wiredep не проглатывать становой: переименовывать gulp.task('bower', function() в { gulp.task('wiredep', function() {

второй вопрос, что Бауэр ЛИЭС не в directory: yeoman.app + '/bower_components', но в directory: 'bower_components',

третий вопрос .pipe(gulp.dest(yeoman.app + '/views')); не в воззрениях папку, но .pipe(gulp.dest(yeoman.app));

Так Короче говоря, заменить gulp.task('bower', function ... с:

gulp.task('wiredep', function() { 
return gulp.src(paths.views.main) 
.pipe(wiredep({ 
    directory: 'bower_components', 
    ignorePath: '..' 
})) 
.pipe(gulp.dest(yeoman.app)); 
}); 

Удалить DIST папки, запустить gulp wiredep, gulp и gulp serve или добавить wiredep задачи к построить.

Надеюсь, это прояснит это.

+0

Он работает над задачей «построить», но когда я запускаю задачу «служить», это не работает. Есть идеи? –

+0

Выход журнала консоли был бы приятным ... Но попробуйте изменить порт. Сервер начался без проблем для меня (из коробки), просто в индексе отсутствовали проводные зависимости. –

+0

@PatrikBego После изменений, которые вы рекомендовали, ошибка исчезла, но компоненты Bower все еще не связаны. Ошибка проста в использовании 404 для всех компонентов: GET http: // localhost: 9000/bower_components/bootstrap/dist/css/bootstrap.css (индекс): 75 GET http: // localhost: 9000/bower_components/jquery/dist/jquery.js (индекс): 76 GET http: // localhost: 9000/bower_components/angular/angular.js (индекс): 77 GET http: // localhost: 9000/bower_components/bootstrap/dist/js/самозагрузки.js (index): 78 GET http: // localhost: 9000/bower_components/angular-animate/angular-animate.js ... и он продолжается! – user1242321

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