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

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

ただいまの
回答率

90.40%

  • Node.js

    2091questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

  • gulp

    299questions

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

browser-syncを使いたいのですが、Cannot GET /と出てしまいます。

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 4,013
退会済みユーザー

退会済みユーザー

browser-syncを使いたいのですが、Cannot GET /と出てしまいます。

下記のようにブラウザに打つとページが表記されますがbrowser-sync start --server --files "**/*"実行時には、
上記のエラーページが出てしまいます。

・dest-afterフォルダの中にindex.htmlファイルがあります。

gulp.jsが入っているフォルダ=GULPフォルダ
├─dest-after
│  ├─css
│  │  ├─foundation
│  │  ├─layout
│  │  └─object
│  │      ├─component
│  │      ├─project
│  │      └─utility
│  ├─html
│  ├─img
│  │  ├─common-img
│  │  └─index
│  ├─js
│  ├─plugin
│  └─web-font

・gulp.js

// ローカルサーバーを立て、
// ファイル更新時に自動リロードするタスクです
gulp.task("default", function () {
  // 初期設定です
  browserSync.init({
    server: {
      baseDir: "./src-before/"
    }
});

// srcフォルダ以下のファイルが更新されたらリロードします
  gulp.watch(['src-before/*' , 'src-before/*/*' , 'src-before/*/*/*'], function () {
    browserSync.reload();
  });
});

・下記のようにはなっています。それでもリロードしません。
[BS] Serving files from: ./
[BS] Watching files...
[BS] File changed: src-before\layout\_footer.css

・baseDir: "./src-before/"のパスが間違っているのでしょうか?
gulpのパスとは、いつもgulp.jsをルートディレクトリとして相対パスを書けばよいのですよね。
そうならあっているとは思うのですが。
そして今回はトランスパイル後の、index.htmlがあるディレクトリの相対パスを書けば、ポートの設定などいらずにできるはずなのですよね。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+3

初めまして。
baseDirには表示するパスを書くのでdest-afterですよ。

多分こんな感じで動くかと..

var gulp = require('gulp');
var browserSync = require('browser-sync');
var reload = browserSync.reload;

gulp.task("bs", function () {
  browserSync({
    server: {
      baseDir: "../dest-after/" 
    }
  });
});

gulp.task('watch', function(){
  gulp.watch('src-before/**', reload);
});

  gulp.task('default', ['bs'], function(){
    gulp.start(['watch']);
  });

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/11/13 21:03

    こんにちは
    ありがとうございます。

    下記の部分はトランスパイル前ではなく、トランスパイル後のフォルダを指定するのですね。
    gulp.task("bs", function () {
    browserSync({
    server: {
    baseDir: "../dest-after/"
    }
    });
    });

    キャンセル

  • 2016/11/13 22:21

    ありがとうございました。

    dest-afterをカレントディレクトリにしてから
    browser-sync start --server --files *と打ったところうまくいったようです。

    ただsrcにあるcssはこれだとwatchできませんよね。
    browser-sync start --server --files *と打てばカレントの中にあるフォルダの中にあるファイルすべてを監視してくれるでしょうか?

    キャンセル

  • 2016/11/14 02:46

    はい。ワイルドカードでもいけますし、

    browser-sync start --server --files "*.html, *.css, *.js"

    みたいにカンマで区切れば複数指定もできます

    キャンセル

  • 2016/11/14 12:25

    ・baseDir: "../dest-after/"
    dest-afterをカレントディレクトリにして、その下にある
    browser-sync start --server --files "*.html, *.css, *.js" の"*.html, *.css, *.js" ファイルをwatchするということでしょうか?

    それともgulpfile.jsがある場所が、baseDir: "../dest-after/"ですよとプログラムに伝えるための記述でしょうか?
    おそらく前者でしょうが念のため確認させてください。

    キャンセル

  • 2016/11/14 12:31

    また、
    dest-afterをカレントディレクトリにして、その下にある
    browser-sync start --server --files "*.html, *.css, *.js" の"*.html, *.css, *.js" ファイルをwatchするということだった場合下記の記載と被る気がするのですが、
    下記の記載はもしかして不要なのでしょうか?

    //以下gulp-watch
    gulp.task('watch', function(){
    gulp.watch(['src-before/*' , 'src-before/*/*' , 'src-before/*/*/*'], ['css'], function () {
    browserSync.reload();
    });//監視したいファイルの相対パス
    });


    最後にdest-afterにあるhtml,jsファイルはいいのですがcssファイルはsrcにあるので、
    当然ながら反応しません。
    おそらく下記でいいのかなと思うのでやってみます。
    browser-sync start --server --files "*.html, ../src-before/*.css/*.css, *.js"

    キャンセル

  • 2016/11/14 12:37

    htmlだけ動きますが、css、jsが動きません。

    C:\Users\h\Desktop\images\gulp-folder\website\和風\dest-after>browser-sync start --server --files "*.html, ../src-before/*.css/*.css, *.js"

    と打っています

    キャンセル

同じタグがついた質問を見る

  • Node.js

    2091questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

  • gulp

    299questions

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