前提・実現したいこと
gulp4でbrowserSyncを使ってWordpress(ローカル環境)で作成したサイトをタスクを完了するたびにリロードさせたいと思っています。
Wordpressを使っていないPHPでのサイトでは該当のソースコードで動いていたのですが
Wordpressでの環境ではうまく動きません。
色々探してみたのですが、理由がわからずはまってしまっています…お助けいただけますと嬉しいです。
ディレクトリの構成はWordpressのthemesの中は下記のようになっています。
themes
├ gulpfile.js
├ index.php
├ node_modules
├ node_modules
├ package.json
└ test_template
└ index.php
└ sass
gulpのタスクで初回は立ち上がるのですが、watchのタスクが完了しても
画面はすんとも言いません。
ターミナルのほうではエラーメッセージのところに書かれたように
タスクは認識しているようです。
発生している問題・エラーメッセージ
[09:10:47] Using gulpfile ~/works/wordpress/wp-content/themes/gulpfile.js [09:10:47] Starting 'default'... [09:10:47] Starting 'serve'... [09:10:47] Finished 'serve' after 9.09 ms [09:10:47] Starting 'watch'... [Browsersync] Proxying: http://localhost:80 [Browsersync] Access URLs: ------------------------------------------------ Local: http://localhost:3000/wordpress/ External: http://192.168.1.18:3000/wordpress/ ------------------------------------------------ UI: http://localhost:3001 UI External: http://localhost:3001 ------------------------------------------------ [Browsersync] Watching files... [09:50:24] Starting 'sass'... [Browsersync] 1 file changed (style.css) [09:50:24] Finished 'sass' after 143 ms [Browsersync] Reloading Browsers...
該当のソースコード
const browserSync = require('browser-sync').create()
gulp.task('serve', (done) => {
browserSync.init({
files: ['./test_template/**/*.php'],
proxy: 'http://localhost:80/',
})
done()
})
gulp.task('watch', (done) => {
const browserReload = (done) => {
browserSync.reload()
done()
}
gulp.watch('./test_template/**/*' , browserReload)
})
//ここにsasのタスクと画像圧縮のタスクが入っています
gulp.task('watch', () => {
gulp.watch('./test_template/sass//*.scss' , gulp.series('sass'))
gulp.watch('./test_template/src/images//*' , gulp.series('imagemin'))
})
gulp.task('default' , gulp.series('serve', 'watch'))
ソースコード
試したこと
似たような事例がないか、他のサイトを探してみましたが、
似た内容でのヒットがありませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー