前提・実現したいこと
絶対つまずかないGulp 4入門(2019年版) – インストールとSassを使うまでの手順
こちらの記事を元に gulp 4 を試してみました。
その後自分で browser-sync を試してみたところ、きちんと server が起動しブラウザが立ち上がりました。一度は、sass を更新するとリロードするのですが、2度目以降は、ブラウザが更新されません。2度目以降もリロードされるようにしたいです。
回答に足りない事項があれば、ご指摘いただけれると助かります。
筆者のレベル
html, sass, javascript: 1ヶ月程
発生している問題・エラーメッセージ
[02:12:04] Starting 'default'... [02:12:04] Starting 'sass'... [02:12:04] Starting 'sync'... [02:12:04] Starting 'reload'... [02:12:04] Starting 'watch'... [Browsersync] Access URLs: -------------------------------------- Local: http://localhost:3000 External: **** -------------------------------------- UI: http://localhost:3001 UI External: http://localhost:3001 -------------------------------------- [Browsersync] Serving files from: ../html/ [02:12:05] Finished 'sass' after 347 ms [02:12:29] Starting 'sass'... [02:12:29] Starting 'reload'... [02:12:29] Finished 'sass' after 52 ms [Browsersync] Reloading Browsers... [02:12:32] Starting 'sass'... [02:12:32] Finished 'sass' after 83 ms [02:12:36] Starting 'sass'... [02:12:36] Finished 'sass' after 77 ms [02:12:39] Starting 'sass'... [02:12:39] Finished 'sass' after 75 ms [02:12:40] Starting 'sass'... [02:12:40] Finished 'sass' after 73 ms
該当のソースコード
gulp
1// gulp 4 で記述 2// 実行後の処理については、最下部に記載 3 4 5// gulpプラグインの読み込み 6var gulp = require('gulp'); 7 8// Sassをコンパイルするプラグインの読み込み 9var sass = require('gulp-sass'); 10 11// browser-syncのプラグインの読み込み 12var browserSync = require("browser-sync"); 13 14 15// ローカルサーバーの立ち上げ 16gulp.task("sync", function () { 17 18 // browsre-sync のサーバー立ち上げ処理 19 browserSync({ 20 server: { 21 baseDir: "../html/", // ルートとなるディレクトリを指定 22 notify: true, // 画面右上の通知の設定 23 } 24 }); 25 26}); 27 28 29// リロード処理 30gulp.task("watch", function () { 31 32 gulp.watch('../html/flocss/**/*.scss', gulp.task('sass')) 33 gulp.watch('../html/flocss/**/*.scss', gulp.task('reload')) 34 35}); 36 37 38// watch 処理 39gulp.task("reload", function () { 40 41 browserSync.reload(); // ファイルに変更があれば同期しているブラウザをリロード 42 43}); 44 45 46// scss の監視タスクを作成する 47gulp.task('sass', function () { 48 49 // ('')内で取得する scss ファイルを指定 50 return gulp.src('../html/flocss/**/*.scss') 51 52 // sassのコンパイルを実行 53 .pipe(sass({ 54 55 outputStyle: 'compressed', // expanded({}の頭が揃う)、nested(ネストがインデントされる)、compact(規則集合毎が1行になる)、compressed(全CSSコードが1行になる) 56 57 }) 58 59 // Sassのコンパイルエラーを表示 60 // (これがないと自動的に止まってしまう) 61 .on('error', sass.logError)) 62 63 // ('')内でコンパイル後の保存場所を指定 64 .pipe(gulp.dest('../html/assets/css/')) 65 .pipe(gulp.dest('../../public/assets/css/')) 66 67}); 68 69 70gulp.task('default', 71 gulp.parallel('sass', 'sync', 'reload', 'watch') 72); 73
試したこと
日本のブログは20ページくらい、youtube(英語、ロシア語)などを閲覧して、当たりどころを付けてやっていましたが、なかなか回答に至りませんでした。
補足情報(FW/ツールのバージョンなど)
package.json の内容を記述します。
"name": "****", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "****" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "browser-sync": "^2.26.3", "gulp": "^4.0.0", "gulp-sass": "^4.0.2", "gulp-uglify": "^3.0.1" }
回答2件
あなたの回答
tips
プレビュー