404访问端口3000或3001上的localhost时(BrowserSync使用的默认端口)

时间:2016-01-08 20:21:23

标签: php symfony gulp browser-sync

我正在尝试将Gulp应用到我的项目中。我已成功创建了一项任务,并愿意将BrowserSync与它集成。

这是我的gulpfile.js

    var gulp = require('gulp');
    var gulpif = require('gulp-if');
    var uglify = require('gulp-uglify');
    var concat = require('gulp-concat');
    var env = process.env.GULP_ENV;
    var browserSync= require('browser-sync');
    var reload= browserSync.reload;

    gulp.task('js', function () {
        gulp.src([
            'src/**/Resources/public/js/*.js'])
            .pipe(concat('javascript.js'))
            .pipe(gulpif(env == 'prod', uglify()))
            .pipe(gulp.dest('web/js'))
            .pipe(reload({stream:true}));
    });

    gulp.task('browser-sync', function(){
        browserSync({server:
                    {
                        baseDir: "./"
                    }});

    });

    gulp.task('watch', function()
    {
       gulp.watch('src/**/Resources/public/js/*.js',['js']);

    });

gulp.task('default', ['browser-sync','watch']);

我正在使用PHP作为后端(Synfony 2.3)。通常我访问localhost/websiteName/web/app_dev.php/hello/SO访问localhost上的网站。根据我读过的教程,BrowserSync在端口3000下运行,但是当我localhost:3000/websiteName/web/app_dev.php/hello/SO时,它给了我一个404.

访问localhost:3001向我发送了BrowserSync主页,向我显示 本地是http://localhost:3000

我没有足够的经验来理解引擎盖下的原因。感谢您的平常帮助。

1 个答案:

答案 0 :(得分:1)

我这样做:

gulp.task('browser-sync', function(){
    browserSync.init({
        proxy: "localhost/websiteName/web/app_dev.php"
    });
});

https://www.browsersync.io/docs/options/#option-proxy