4

Yeoman を使用して新しい Angular アプリの足場を作り始めたところです。generator-angularのインストール ガイドに従いましたが、タスク ランナーには grunt ではなく gulp を使用することにしました。

インストール後、次のエラーが表示されました: task 'wiredep' is not in you gulpfile

を使用してビルドを実行しようとしgulpましたが、エラーが発生しました:TypeError: $.useref.restore is not a function

を実行するgulp serveと、結果のページで依存関係が配線されません。

上記のエラーの修正はありますか?

Yeoman は grunt を使用しており、その gulp は実験的なものであることに気付きました。したがって、上記のエラーは予期されるものだと思います。ジェネレーターの GitHub ページに問題として投稿する必要がありますか?

4

2 に答える 2

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));
});
于 2015-11-04T08:26:21.023 に答える