質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

gulp

gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

Q&A

解決済

3回答

8925閲覧

gulp watchが動かない

Tatsurou

総合スコア81

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

gulp

gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

0グッド

0クリップ

投稿2019/02/04 04:45

困ってる事

gulp watchが動かない。
エラーもでず、ただ、以下のようにgulpが動いたままとなってしまう。

[Browsersync] Reloading Browsers...
[Browsersync] Reloading Browsers...

ただ、gulp convertToCss は機能しています。

ディレクトリ

イメージ説明

ソース

js

1var gulp = require('gulp'); 2var sass = require('gulp-sass'); 3var sassGlob = require('gulp-sass-glob'); 4var browserSync = require('browser-sync').create(); 5 6gulp.task('serve', () => { 7 8 // WordPress 開発環境用 9 browserSync.init({ 10 proxy: "10.0.0.282:8888/wordpress" 11 }); 12}); 13 14gulp.task('browser-sync', function() { 15 browserSync.init({ 16 server: { 17 baseDir: "./src", 18 index: "index.php" 19 } 20 }); 21}); 22 23gulp.task('bs-reload', function () { 24 browserSync.reload(); 25}); 26 27gulp.task('convertToCss', function() { 28 gulp.src('./src/scss/style.scss') 29 .pipe(sassGlob()) 30 .pipe(sass()) 31 .pipe(gulp.dest('./')); 32}); 33 34gulp.task('watch', () => { 35 36 // scssファイルが変更されたらsassタスクを実行 37 gulp.watch("./src/scss/**/*.scss", ['convertToCss']); 38 // phpファイルとcssファイルが変更されたら、ブラウザをリロード 39 gulp.watch(['./*.php', './*.css']).on('change', browserSync.reload); 40}); 41 42gulp.task('default', ['serve', 'watch']); 43

css

1@charset "utf-8"; 2@import "./layout/*";

その他

jsの知識はかなり低いです。

「gulp watch できない」などの検索ワードで調べたのですが、どうもしっくりくる記事がなく、困っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s8_chu

2019/04/26 01:04

package.json の内容を教えていただけませんか?
guest

回答3

0

gulp.task('default', ['serve', 'watch']);

まずこの書き方ですが、
serveとwatchを並列動作させたいと言っています。
こんな書き方舌ってことは、watchで使う前にserveが先に走って欲しいからですよね?

ならばwatchの依存タスクにserveを設定すべきで、
そこで動かすと並列動作してしまうのでおかしなことになるはずです。
このように変更してみてはどうでしょうか?

JavaScript

1gulp.task('watch', ['serve'], () => { 2 // watchタスクの中身 3}); 4 5gulp.task('default', ['watch']);

投稿2019/02/04 05:54

編集2019/02/04 06:06
miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tatsurou

2019/02/04 10:06

ご回答いただきありがとうございます。ただ、試してみましたが、watchが機能しませんでした。
Tatsurou

2019/02/04 10:07

Googleマイドライブ上で作業しているのですが、それが問題だったりしますでしょうか?
ockie

2019/04/25 14:56

↑は書き込む場所を間違えました。
guest

0

はじめまして。
もし最新のgulp 4をお使いでしたら、質問のコードだとエラーになる可能性があります。

こちらが参照ページです
https://satoyan419.com/gulp-v4/

まず原因として一番考えられるのがこの1行です。

js

1gulp.watch("./src/scss/**/*.scss", ['convertToCss']);

Gulp 4では、以下のように書かないといけないみたいです。 

js

1gulp.watch("./src/scss/**/*.scss", gulp.task('convertToCss'));

これで直らなかったら、以下は自信ないですがこのように変更してみてください。

js

1//before 2gulp.task('default', ['serve', 'watch']); 3 4//after 5gulp.task('default', gulp.parallel('serve', 'watch'));

投稿2019/02/12 05:25

yu-smc

総合スコア610

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tatsurou

2019/02/22 05:00

上記のように修正をしましたが、ども動かないようです。Googleドライブに置いているファイルなので、それが原因かなと思ったりもしています。ただ問題切り分けの為に、マイドライブではなくユーザー直下に置いて試していないのでなんとも言えませんが。。
yu-smc

2019/02/22 05:11

解決したいことをもう少し特定しないと進まなそうですねー。 [Browsersync] Reloading Browsers...が続く問題がまだ続いている感じですか?
Tatsurou

2019/02/26 08:19

まだ、ダメで、sass comvert 、watch から試していき、順を追って問題を洗い出そうとしていたのですが、今度は、gulp-sass-glob が 反応しないという事で詰まってしまいました。。調べてもこれといった記事は見つからずコンパイルエラーもでないので、困っています。
guest

0

ベストアンサー

こんにちは!
拝見いたしました。

ディレクトリの画像には src/sass/style.scss となっていますが、
watchタスクには ./src/scss/**/*.scss と指定してあります。

ここのパスを ./src/sass/**/*.scss もしくは ./src/**/*.scss にしたら動作しませんか?

gulp.task('watch', () => { // scssファイルが変更されたらsassタスクを実行 gulp.watch("./src/sass/**/*.scss", ['convertToCss']); //sassにする gulp.watch("./src/**/*.scss", ['convertToCss']); //もしくは**にする // phpファイルとcssファイルが変更されたら、ブラウザをリロード gulp.watch(['./*.php', './*.css']).on('change', browserSync.reload); });

投稿2019/02/05 01:29

編集2019/02/05 01:35
Higemura

総合スコア274

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tatsurou

2019/02/05 08:18

こんばんは。 ご回答ありがとうございます! ご指摘の通り、記述を変えてみましたが、動作しませんでした。
ockie

2019/04/25 14:56

ディレクトリ構造の画像をみるとscssファイルが入っているフォルダ名は「sass」です。 gulp.src('./src/scss/style.scss') や gulp.watch("./src/scss/**/*.scss", ['convertToCss']); のフォルダ名は「suss」となっていて、「a」と「u」が違っていることを、指摘されているのだと思うのですが、 ./src/scss/ ↓ ./src/sass/ に修正されていますか?
Tatsurou

2019/05/13 10:12

返答遅くなりました。修正しました。やはり、Googleドライブに同期している場所で動作しないようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問