Browser sync ошибка cannot get

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username
Email Address
Password

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

This article was extreamly helpful for getting browsersync to work with a PHP site.

These are what the configurations for both Grunt and Gulp should look like (taken from the article)

Grunt

You will need the grunt-php plugin

grunt.loadNpmTasks('grunt-browser-sync');
grunt.loadNpmTasks('grunt-php');
grunt.loadNpmTasks('grunt-contrib-watch');

grunt.initConfig({
    watch: {
        php: {
            files: ['app/**/*.php']
        }
    },
    browserSync: {
        dev: {
            bsFiles: {
                src: 'app/**/*.php'
            },
            options: {
                proxy: '127.0.0.1:8010', //our PHP server
                port: 8080, // our new port
                open: true,
                watchTask: true
            }
        }
    },
    php: {
        dev: {
            options: {
                port: 8010,
                base: 'path/to/root/folder'
            }
        }
    }
});

grunt.registerTask('default', ['php', 'browserSync', 'watch']);

Gulp

You will need the gulp-connect-php plugin

// Gulp 3.8 code... differs in 4.0
var gulp = require('gulp'),
    php = require('gulp-connect-php'),
    browserSync = require('browser-sync');

var reload  = browserSync.reload;

gulp.task('php', function() {
    php.server({ base: 'path/to/root/folder', port: 8010, keepalive: true});
});
gulp.task('browser-sync',['php'], function() {
    browserSync({
        proxy: '127.0.0.1:8010',
        port: 8080,
        open: true,
        notify: false
    });
});
gulp.task('default', ['browser-sync'], function () {
    gulp.watch(['build/*.php'], [reload]);
});

Я установил только NodeJS и BrowserSync с помощью этой команды:

npm install -g browser-sync 

После использования этой команды для запуска сервера:

C:\xampp\htdocs\browser_sync
λ browser-sync start --server
[BS] Access URLs:
 --------------------------------------
       Local: http://localhost:3000
    External: http://192.168.1.223:3000
 --------------------------------------
          UI: http://localhost:3001
 UI External: http://192.168.1.223:3001
 --------------------------------------
[BS] Serving files from: ./

И я получаю следующую ошибку:
Невозможно GET/

Я запутался, потому что хочу использовать BrowserSync с моим проектом Laravel.

Где я должен установить BrowserSync?

Спасибо.

4b9b3361

Ответ 1

Использование BrowserSync в качестве сервера работает только в том случае, если вы используете статический сайт, поэтому PHP не будет работать здесь.

Похоже, вы используете XAMPP для обслуживания своего сайта, вы можете использовать BrowserSync для проксирования своего локального хоста.

Пример:

browser-sync start --proxy localhost/yoursite

Литература:

  • http://www.browsersync.io/docs/command-line/#proxy-example
  • https://github.com/BrowserSync/browser-sync/issues/5

Ответ 2

Поскольку он работает только с index.html по умолчанию, например:

[email protected]:~/Templates/browsersync-project$ ls 

brow.html  css

[email protected]:~/Templates/browsersync-project$ browser-sync start --server --files '.'

Ожидаемый результат:

Cannot GET/

Чтобы видеть вашу статическую веб-страницу в веб-браузере вместо этого раздражающего сообщения, вам нужно переименовать файл brow.html в index.html. Это решит проблему Cannot GET/.

P.S. Там, где вы устанавливаете синхронизацию браузера, не имеет значения. Просто введите npm install -g browser-sync всю директорию, в которой вы находитесь, и после двойной проверки browser-sync --version.

Ответ 3

Эта статья была чрезвычайно полезной для того, чтобы заставить браузеры работать с PHP-сайтом.

Вот как выглядят конфигурации для Grunt и Gulp (взяты из статьи)

Grunt

Вам понадобится grunt-php плагин

grunt.loadNpmTasks('grunt-browser-sync');
grunt.loadNpmTasks('grunt-php');
grunt.loadNpmTasks('grunt-contrib-watch');

grunt.initConfig({
    watch: {
        php: {
            files: ['app/**/*.php']
        }
    },
    browserSync: {
        dev: {
            bsFiles: {
                src: 'app/**/*.php'
            },
            options: {
                proxy: '127.0.0.1:8010', //our PHP server
                port: 8080, // our new port
                open: true,
                watchTask: true
            }
        }
    },
    php: {
        dev: {
            options: {
                port: 8010,
                base: 'path/to/root/folder'
            }
        }
    }
});

grunt.registerTask('default', ['php', 'browserSync', 'watch']);

Gulp

Вам понадобится gulp-connect-php плагин

// Gulp 3.8 code... differs in 4.0
var gulp = require('gulp'),
    php = require('gulp-connect-php'),
    browserSync = require('browser-sync');

var reload  = browserSync.reload;

gulp.task('php', function() {
    php.server({ base: 'path/to/root/folder', port: 8010, keepalive: true});
});
gulp.task('browser-sync',['php'], function() {
    browserSync({
        proxy: '127.0.0.1:8010',
        port: 8080,
        open: true,
        notify: false
    });
});
gulp.task('default', ['browser-sync'], function () {
    gulp.watch(['build/*.php'], [reload]);
});

Ответ 4

Документация для обзора:
По умолчанию индексный файл проекта, например, может быть index.html, но если он имеет другое имя, вы должны указать его со следующим флагом, указанным в документации:

— index: укажите, какой файл следует использовать как индексную страницу

В моем случае:

browser-sync start --index"datalayer.html"  --server --files "./*.*"

Надеюсь, я помог вам, до вас.

Ответ 5

Вместо этого вам нужно использовать опцию прокси

browser-sync start --proxy yoursite.dev

Ответ 6

это, если или ворчащие пользователи, я знаю, что gulp имеют разные настройки, настройки вашего локального сервера, но все еще не работают,
комментарий или удаление этой строки

//server: 'http://localhost/yoursiterootfolder/'

добавить эту строку

proxy: "http://localhost/yoursiterootfolder/"

Измените папку «yoursitefolder» с фактической папкой вашей корневой папки, а не темой, папкой шаблона, над которой вы работаете.
посмотрите https://browsersync.io/docs/grunt для получения более подробной информации
Наслаждайтесь

Ответ 7

Убедитесь, что вы находитесь в каталоге, где находится файл index.html. Скорее всего, вы запускаете эту команду из корневого каталога вашего проекта, и это не будет выполняться, если вы не укажете путь индекса.

Ответ 8

BrowserSync по умолчанию загружает статические файлы, если вы хотите использовать его для загрузки php файла (index.php), вам нужно запустить php-сервер, а затем подключиться к нему с помощью синхронизации браузера через опцию прокси.

Это можно сделать с помощью следующего кода.
NB: этот код входит в ваш файл webpack.config.js.

var BrowserSyncPlugin = require('browser-sync-webpack-plugin');
var Connect = require('gulp-php-connect');

// we create a serve object which we instantiate in
// webpacks plugins scope.
var Serve = function(){
    Connect.server({
        base: './public',
        port: 9000,
        keepalive: true
    });
    // return a new instance of browser sync
    return new BrowserSyncPlugin({
        proxy: 'localhost:9000',
        port: 8080,
        files: ['public/**/*', 'public/index.php']
    });
}

Теперь в области плагинов вашего конфигурационного файла webpack вы можете создать экземпляр нашего объекта Serve.
NB: Я предлагаю, чтобы это был последний плагин, который вы вызываете.

plugins: [
    ...,
    new Serve()
]

Надеюсь, это было полезно.

Ответ 9

Я получил это, чтобы работать без использования gulp-php-connect. Это казалось излишним, если сам BrowserSync предоставляет метод прокси. Я использую Gulp 4.0alpha.3 и последний npm. Я не стал пытаться заставить вещи es2015 работать, поэтому вместо «import» и «export» я использовал более традиционные «require» и «export». и усвоить задание по умолчанию. (‘экспортная сборка по умолчанию’ намного чище: D) Остальное «Gulp 4». Это минимально, предварительная компиляция SCSS и внедрение CSS. Это шаг к большему решению, но многим людям, в том числе и мне, показалось, что это сложная задача: PHP/XAMPP/SCSS кажется общей установкой, поэтому я надеюсь, что это поможет некоторым людям. Это работает так же, как при использовании gulp-php-connect. Вот мой весь gulpfile.js:

const gulp = require('gulp');
const del = require('del');
const sass = require('gulp-sass');
const browserSync = require('browser-sync');
const sourcemaps = require('gulp-sourcemaps');

const server = browserSync.create();

const paths = {
  scss: {
    src: './scss/admin.scss',
    dest: './css/'
  }
};

const clean = () => del(['dist']);

function scss() {
  return gulp.src(paths.scss.src, { sourcemaps: true })
    .pipe(sass())
    .pipe(gulp.dest(paths.scss.dest));
}

function reload(done) {
  server.reload();
  done();
}

function serve(done) {
  server.init({
    injectChanges: true,
    proxy: 'localhost:8100/',
    port: 8080,
    open: true,
    notify: false
  });
  done();
}

const watch = () => gulp.watch('./scss/**/*.scss', gulp.series(scss, reload));

const build = gulp.series(clean, scss, serve, watch);
exports.build = build;

gulp.task('default', build);

Ответ 10

В моем каталоге используется «Welcome.html» вместо «index.html». Поэтому я набрал http://localhost:3000/Welcome.html тогда все заработало…

Делаю сайт на Foundation for Sites 6 хочу добавить плагин browser sync, при запуске появляется ошибка Cannot GET /
как решить не пойму?

var gulp = require('gulp');
var $    = require('gulp-load-plugins')();
var concat = require('gulp-concat');
var cssnano = require('gulp-cssnano');
var rename = require('gulp-rename');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant');
var browserSync = require('browser-sync').create();


var sassPaths = [
  'bower_components/foundation-sites/scss',
  'bower_components/motion-ui/src'
];
gulp.task('imagemin', function () {
    return gulp.src('./img/*')
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [{removeViewBox: false}],
            use: [pngquant()]
        }))
        .pipe(gulp.dest('./img'));
});
gulp.task('sass', function() {
  return gulp.src('scss/app.scss')
    .pipe($.sass({
      includePaths: sassPaths,
      outputStyle: 'compressed' // if css compressed **file size**
    })
      .on('error', $.sass.logError))
    .pipe($.autoprefixer({
      browsers: ['last 2 versions', 'ie >= 9']
    }))
    .pipe(cssnano())
    .pipe(rename({suffix: '.min'})) // Добавляем суффикс .min
    .pipe(gulp.dest('css'));
    // .pipe(browserSync.stream());
    
});
// Static Server + watching scss/html files
gulp.task('serve', ['sass'], function() {

    // Serve files from the root of this project
    browserSync.init({
        server: {
            baseDir :'./'
        }
        
        
   
    });
    gulp.watch("./scss/*.scss", ['sass']);
    gulp.watch("/*.php").on('change', browserSync.reload);
});
gulp.task('default', ['serve']);

Nodejs — ошибка (( ☑ 0

Cool_Profi

14.08.18

12:08

Решил посмотреть на этого зверя (книжка приличная попалась)

Поставил ноду. Все пути проверил.

Добавил browser-sync

Нарисовал примитивный html (hello world)

Зашёл в каталог, где html лежит и сказал

browser-sync start —server —files «stylesheets/*.css, *.html»

Оно мне ответило

[Browsersync] Access URLs:

———————————-

       Local: http://localhost:3000

    External: http://10.0.0.25:3000

———————————-

          UI: http://localhost:3001

UI External: http://10.0.0.25:3001

———————————-

[Browsersync] Serving files from: stylesheets/*.css, *.html

и запустило хром на localhost:3000

и я вижу ответ Cannot get /

ПРричём если заглянуть в код — видно, что это отдаёт сам browser-sync

Что я не так сделал?

1

Вафель

14.08.18

12:10

а почему именно браузер синк выбрал?

2

Cool_Profi

14.08.18

12:11

(1) В книжке написано )))

Я пока в этом ни в зуб

3

Вафель

14.08.18

12:14

(2) а ты хочешь прям сразу веб сервер свой писать? бэкенд?

5

Вафель

14.08.18

12:14

для начала лучше express наверно, более популярный веб-сервер на ноде

6

Вафель

14.08.18

12:15

(4) вебпак — это же бандлер, а не вебсервер

9

Garykom

14.08.18

12:17

11

Asmody

14.08.18

12:21

Вообще-то, browser-sync — это хрень, которая обновляет страницу в браузере при изменении исходного кода.

При чем тут вебпаки и экспрессы?

Это, как бы, раз.

Во-вторых, в vscode есть кучка плагинов типа Live Server, которые делают тоже самое.

12

Fragster

14.08.18

12:21

вебпак нужен для сборки фронтенда и гибридных приложений

для серверной части мне понравился express

13

Asmody

14.08.18

12:22

(10) Если у тебя полторы странички с простым css, нахрена тащить монстра webpack?

14

Fragster

14.08.18

12:23

(13) если у тебя не фронтенд, а бэкенд :)

15

Fragster

14.08.18

12:23

а с фронтендом вебпак лучше

17

Asmody

14.08.18

12:24

(14) Какое отношение browser-sync имеет к бэку?

Ребят, вы хоть определитесь, где молоток, а где стамеска.

19

Cool_Profi

14.08.18

12:25

(9) Там про скриптование. У меня же пока вообще нет скриптов..

22

Garykom

14.08.18

12:27

Мдя как похоже на споры файловая 1С или серверная причем обязательно холивар винда vs линукс и mssql vs postgres

Новичок nodejs изучает ему даже express пока лишнее, надо основы понять, на голом node свой вручную сервер поднять.

Затем уже лезти по все эти фремворки-кофемашины «все в одном» причем webpack это как nginx поверх апача

23

Cool_Profi

14.08.18

12:35

Спецы закончились ? ((

24

Вафель

14.08.18

12:37

(23) а что тут много спецов по браузер синку???

25

Fragster

14.08.18

12:38

а зачем вообще браузер? для начального изучения выводи в консоль пока

26

Вафель

14.08.18

12:39

index.html файл то есть?

27

Вафель

14.08.18

12:40

28

Вафель

14.08.18

12:41

29

Cool_Profi

14.08.18

13:16

(26) Разумеется, есть

30

Garykom

14.08.18

13:21

(29) Покажи плиз свой index.html

31

Garykom

14.08.18

13:21

(30)+ там случаем вызова php нету?

32

Вафель

14.08.18

13:22

(31) другая ошибка была бы.
явно же не может найти файл индекс.хтмл

33

Cool_Profi

14.08.18

13:23

(30)

<!DOCTYPE html>

<html lang=»en» dir=»ltr»>

<head>

  <meta charset=»utf-8″>

  <title>ottergram</title>

</head>

<body>

  <header>

    <h1>ottergram</h1>

  </header>

</body>

</html>

34

Cool_Profi

14.08.18

13:28

35

Вафель

14.08.18

13:29

(34) если бы было все на месте, то работало бы

36

Cool_Profi

14.08.18

13:30

(35) Я тебе картинку показал. ЧТо не так в ней?

37

Вафель

14.08.18

13:31

картинка не работает

38

Cool_Profi

14.08.18

13:34

39

Asmody

14.08.18

13:34

Даже картинку расшарить не в силах. Чего уж там до высоких материй

40

Вафель

14.08.18

13:35

сейчас попробовал браусер-сеинк.
все работает
правда я запускал
browser-sync start —server

41

Вафель

14.08.18

13:36

и так
browser-sync start —server —files «stylesheets/*.css, *.html»
тоже работает?
Может нода не той версии?

42

Вафель

14.08.18

13:37

у меня 8.11.1

43

Cool_Profi

14.08.18

13:38

(41) нода 8.11.3 LTS

44

Cool_Profi

14.08.18

13:39

А вот с —files работает…

В книге ошибка? Они там на 5.* демонстрируют…

Я ж говорю — первые пробы…

45

Вафель

14.08.18

13:40

(44) тоже работает

Понравилась статья? Поделить с друзьями:
  • Browser exe системная ошибка windows 10
  • Browser exe ошибка приложения 0xc000003e
  • Browser elf dll ошибка
  • Browser assistant exe ошибка приложения 0xc0000005
  • Brother сброс ошибки мало тонера