4

bower.json ファイルに angular、angular-ui-router、socket-io があります。

gulp ファイルを (wiredep を使用して) 実行すると、2 つの角度スクリプトが index.html ファイルに正常に追加されますが、socket.io スクリプトは追加されず、理由がわかりません。助けてくれてありがとう

//コマンドライン

[21:56:06] Using gulpfile ~/dev/projects/ecommerceVidChat/gulpfile.js
[21:56:06] Starting 'default'...
[21:56:06] Starting 'bower-dependencies'...
[21:56:06] Finished 'bower-dependencies' after 6.24 ms
[21:56:06] Finished 'default' after 7.24 ms

//bower.json

  "dependencies": {
    "angular": "~1.3.13",
    "socket.io": "~1.3.4",
    "angular-ui-router": "~0.2.13"
  }

// gulpfile.js

var gulp = require('gulp'),
    wiredep = require('wiredep').stream;

gulp.task('default', function() {
  gulp.start('bower-dependencies')
});

gulp.task('bower-dependencies', function () {  
  gulp.src('./build/index.html') 
    .pipe(wiredep({
      directory: './build/bower_components',
      bowerJson: require('./bower.json'),
    }))
    .pipe(gulp.dest('./build/'));
});

//index.html

<!-- bower:js -->
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<!-- endbower -->

//package.json

"devDependencies": {
    "gulp": "^3.8.11"
  }
4

2 に答える 2

10

Socket.io自体は Bower をサポートしていませんこれはクライアントではなくサーバーであることを覚えておいてください。

serveClientオプションをに設定することにより、ソケット サーバーでクライアント スクリプトを提供し、次のように直接true挿入できます。index

 <script src="socket.io/socket.io.js"></script>

または、 bowerで参照されている別の名前のクライアント スクリプトをインストールします。

bower install -save socket.io-client

このパッケージにプロパティがない場合mainは、 main でオーバーライドする必要がありますbower.json

"overrides": {
  "socket.io-client": {
    "main": "socket.io.js"
  }
}

このように、wiredepは自動的にindex.html.

于 2015-02-17T18:46:12.207 に答える