3

次のディレクトリ構造があります。

bower_components
node_modules
src
index.html
bower.json
package.json
gulpfile.js
.gitignore

次のように、bower の依存関係を注入するための gulp タスクがあります。

gulp.task('bower-inject', function () {
    gulp.src('./index.html')
        .pipe(wiredep())
        .pipe(gulp.dest('./'));
});

index.html

    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="shortcut icon" href="src/assets/images/favicon.ico">
        <title>ABC</title>

        <!-- bower:css -->
        <!-- endbower -->

        <!-- inject:css -->
        <!-- this is done with gulp inject which works as expected -->
        <!-- endinject -->
    </head>
    <body ng-controller="AppController as appVm">

        <div ui-view></div>

        <!-- bower:js -->
        <!-- endbower -->

        <!-- inject:js -->
        <!-- done via gulp-inject and works as expected -->
        <!-- endinject -->
    </body>

bower.json

"devDependencies": {
    "angular": "1.4.0",
    "angular-bootstrap": "~0.13.0",
    "angular-ui-router": "~0.2.15",
    "bootstrap": "~3.3.4",
    "modernizr": "~2.8.3",
    "font-awesome": "~4.3.0"
  }

タスクを実行すると、次のように表示されます。

[00:24:50] Starting 'bower-inject'... [00:24:50] Finished 'bower-inject' after 14 ms

ここで何が欠けているのか分かりますか?

4

2 に答える 2

2

これが最終的に私のために働いたものです:

gulp.task('inject', function () {
    var target = gulp.src('./index.html');

    var sources = gulp.src(['src/**/*.js', 'src/**/*.css'], {read: false});

    return target
        .pipe(wiredep({
            devDependencies: true
        }))
        .pipe(inject(sources))
        .pipe(gulp.dest('./'));
});
于 2015-06-23T06:04:51.067 に答える
0

Wiredep は、パッケージを開発依存ではなく依存関係としてインストールするときにスクリプト タグを挿入します。したがってbower install --save angular angular-bootstrap angular-ui-router bootstrap modernizr font-awesome、実行してから実行するgulp build必要があります。

: 一部のパッケージでは、オーバーライド構成が必要bower.jsonです。必要に応じて、バウアー オーバーライドに関する情報をここで確認してください。

于 2017-05-20T18:41:03.053 に答える