hがおそらく正常に機能せず解決策が見つからない為アド...
https://ics.media/entry/3290/
なお今回のプロジェクトのgulpはバージョン3を採用しており、インストールファイルのgulp記述もすべてバージョン3で記述しています。確かにバージョン4になることでパフォーマンスが上がるなどのメリットもありますが、gulpのバージョンは記法が異なる、実行環境のバージョンを合わせ等で結構ハマるポイントが多く、現場でもすでにバージョン3で運用しているプロジェクトをわざわざ4に上げることはあまりありません。
したがって、このレッスンの主題はあくまでjavascript, backbone.jsですし、自身で原因調査をしてバージョン4への書き換えが難しいようでしたら既存のバージョン3のgulpを使用し、レッスンを進めることを優先しましょう。
gulp3でも構築できるよう別で一からやってみようと思います。
const gulp = require('gulp');
const browserify = require('browserify');
const browserSync = require('browser-sync').create();
const source = require('vinyl-source-stream');
gulp.task('build', function (done) {
browserify({
entries: ['src/app.js']
}).bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('dist/'));
done();
});
gulp.task('browser-sync', function (done) {
browserSync.init({
server: {
baseDir: "./",
index: "index.html"
}
});
done();
});
gulp.task('bs-reload', function (done) {
browserSync.reload();
done();
});
gulp.task('watch', function (done) {
gulp.watch ('./src/*.js', gulp.series('build', 'bs-reload'));
done();
});
gulp.task('watch2', function (done) {
gulp.watch("./*.html", gulp.series('build', 'bs-reload'));
done();
});
gulp.task('default', gulp.parallel('watch', 'watch2', 'browser-sync'));
先ほど記載のコードだと、build1がループで発生してしまう為誤りです。
以下でちゃんと動作致しました。
const gulp = require('gulp');
const browserify = require('browserify');
const browserSync = require('browser-sync').create();
const source = require('vinyl-source-stream');
gulp.task('build', function (done) {
browserify({
entries: ['src/app.js']
}).bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('dist/'));
done();
});
gulp.task('browser-sync', function (done) {
browserSync.init({
server: {
baseDir: "./",
index: "index.html"
}
});
done();
});
gulp.task('bs-reload', function (done) {
browserSync.reload();
done();
});
gulp.task('watch', function (done) {
gulp.watch ('./src/*.js', gulp.series('build', 'bs-reload'));
gulp.watch ('./*.html', gulp.task('bs-reload'));
gulp.watch ('./dist/*.+(js|css)', gulp.task('bs-reload'));
done();
});
gulp.task('default',gulp.parallel('watch', 'browser-sync'));
部活の学習一覧
Lesson 01 | jQueryでToDoリストを作ろう!〜htmlの実装〜
Lesson 02 | jQueryでToDoリストを作ろう!〜タスク追加機能の実装〜
Lesson 03 | jQueryでToDoリストを作ろう!〜DONE処理やタスク削除・編集モード開始の実装〜
Lesson 04 | jQueryでToDoリストを作ろう!〜更新処理・検索絞り込み処理〜
コーヒーブレイク
「投資の小話3」
Lesson 05
「backbone.jsの基本の機能と書き方〜modelの作り方・使い方〜」
Lesson 06
「backbone.jsの基本の機能と書き方〜Modelの作り方・使い方part2〜」
Lesson 07
「backbone.jsの基本の機能と書き方〜Viewの作り方・使い方〜」
Lesson 08
「bacbone.jsの基本の機能と書き方〜underscore.jsとtemplate機能〜」
Lesson 09
「bacbone.jsの基本の機能と書き方〜ViewとModelの連携前編〜」
Lesson 10
「bacbone.jsの基本の機能と書き方〜ViewとModelの連携後編〜」
Lesson 11 | backbone.jsで実際にToDoアプリを作ろう!〜タスクItemの作成〜
Lesson 12 | backbone.jsで実際にToDoアプリを作ろう!〜タスクItemの作成その2〜
Lesson 13 | backbone.jsで実際にToDoアプリを作ろう!〜タスクItemList前編〜
Lesson 14 | backbone.jsで実際にToDoアプリを作ろう!〜タスクItemList後編〜
Lesson 15 | backbone.jsで実際にToDoアプリを作ろう!〜タスク追加機能の実装〜
Lesson 16|React.jsの基本的な使い方〜babelとwebpack〜
Lesson 17|React.jsの基本的な使い方〜JSXとコンポーネントとprops〜
Lesson 18|React.jsの基本的な使い方〜stateとライフサイクル、仮想DOM〜
Lesson 19|React.jsの基本的な使い方〜formの実装方法〜
Lesson 20|React.jsの基本的な使い方〜複数のformの実装方法〜
Lesson 21|React.jsで実際にTODOアプリを作ろう!〜コンポーネント設計〜
Lesson 22|React.jsで実際にTODOアプリを作ろう!〜Taskコンポーネント〜
Lesson 23|React.jsで実際にTODOアプリを作ろう!〜ToDoListコンポーネント〜
Lesson 24|React.jsで実際にTODOアプリを作ろう!〜ToDoCreatorコンポーネント〜
Lesson 25|React.jsで実際にTODOアプリを作ろう!〜Searchコンポーネント〜
Lesson 26|React.jsとReduxで実際にTODOアプリを作ろう!〜Reduxの仕組み〜
Lesson 27|React.jsとReduxで実際にTODOアプリを作ろう!〜Reducers〜
Lesson 28|React.jsとReduxで実際にTODOアプリを作ろう!〜TodoCreator〜
Lesson 29|React.jsとReduxで実際にTODOアプリを作ろう!〜containers〜
Lesson 30|React.jsとReduxで実際にTODOアプリを作ろう!〜reduxの仕組みのおさらい〜
Lesson 31|Vue.jsの基本の機能と書き方〜v-bind・v-if〜
Lesson 32|Vue.jsの基本の機能と書き方〜v-for・v-on〜
Lesson 33|Vue.jsの基本の機能と書き方〜v-show・computed、transition〜
Lesson 34|Vue.jsの基本の機能と書き方〜コンポーネント・props・$emit〜
コーヒーブレイク
「はたらくプログラミング 第10話」
ご意見箱
<gulpfile.jp>
const gulp = require('gulp');
const browserify = require('browserify');
const browserSync = require('browser-sync');
const source = require('vinyl-source-stream');
//gulpタスクの作成
gulp.task('build', function(done) {
browserify({
entries: ['src/app.js']//ビルド元のファイルを指定
}).bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('dist/'));//出力ディレクトリを指定
done();
});
gulp.task('browser-sync', function (done) {
browserSync.init({
server: {
baseDir: "./", //対象ディレクトリ
index: "index.html"
}
});
done();
});
gulp.task('bs-reload', function (done) {
browserSync.reload();
done();
});
// Gulpを使ったファイルの監視
gulp.task('default', gulp.series('build', 'browser-sync'), function (done) {
gulp.watch('./src/*.js', gulp.task('build'));
gulp.watch("./*.html", gulp.task('bs-reload'));
gulp.watch("./dist/*.+(js|css)", gulp.task('bs-reload'));
done();
});
ターミナルより「gulp」実行していますが以下の通り正常には実行されているはずだと思うのですが、
ファイルに変更を加えてもリロードが自動で行われません。
<ターミナル上での実行結果>
[10:35:57] Using gulpfile /Applications/MAMP/htdocs/js_advanced/backbone_sample02/gulpfile.js
[10:35:57] Starting 'default'...
[10:35:57] Starting 'build'...
[10:35:57] Finished 'build' after 13 ms
[10:35:57] Starting 'browser-sync'...
[10:35:57] Finished 'browser-sync' after 73 ms
[10:35:57] Finished 'default' after 90 ms
[Browsersync] Access URLs:
------------------------------------
Local: http://localhost:3000
External: http://192.168.3.3:3000
------------------------------------
UI: http://localhost:3001
UI External: http://localhost:3001
------------------------------------
[Browsersync] Serving files from: ./
一応監視はエラーなくされているようですがどこか問題あればご指摘いただきたく、よろしくお願い致します。
gulpバージョン4系での記述も間違ってはいないと思うのですが。。。