Web プロジェクトをセットアップしていて、grunt を自動化とワークフローに使用したいと考えています。sass、jshint、jsdocs、ミニファイアーはすべてうまく機能していますが、うなり声シェルからのブラウザーの起動とリロードに問題はありません。
私がこれを行う際に満たしたい2つの条件があります。
ブラウザのプラグインはありません。(レポから直接動作させたい。「npm install」、「grunt」)npmモジュールを最小限に抑えます。(理想的には grunt-contrib-watch と grunt-contrib-connect のみ)
これは、これら 2 の私の構成です。
connect: {
options: {
base: 'app/',
port: '8888',
livereload: true
}
},
watch: {
all: {
files: [
'gruntfile.js',
'app/index.html',
'app/partials/*.html',
'app/styles/sass/*.scss',
'app/scripts/*.js'
],
tasks: ['default'],
options: {
livereload: true
}
}
}
テストでは、次のことも試しました。
connect: {
options: {
base: "app/",
port: 8888,
open: {
target: 'app/index.html'
}
}
}
Watch はいつファイルが変更されたかを教えてくれますが、デフォルトのタスク (またはそれが作成されたサブタスクのいずれか) を実行してもブラウザー/ページが起動せず、リロードがないようです。
私は grunt-open である程度成功しましたが、バージョン 0.6.0 以降の grunt-contrib-watch だけで達成できるはずだと思いますか?
----- 追加 grunt-contrib-connect が実行されているかどうかもわかりません...
grunt.registerTask('serve', ['sass', 'connect', 'watch']);
grunt.registerTask('default', ['jshint', 'serve']);
結果は次のようになります。接続のタイミングが表示されません。タスクが並行して実行されているため、タスクが測定されていないと推測していますが、これは何が起こっているのでしょうか?
Execution Time
loading tasks 12ms ▇▇▇▇▇ 10%
jshint:src 78ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 62%
sass:all 11ms ▇▇▇▇▇ 9%
watch 24ms ▇▇▇▇▇▇▇▇▇ 19%
Total 126ms