首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gulp:设置browserSync和手表时出错

Gulp:设置browserSync和手表时出错
EN

Stack Overflow用户
提问于 2016-09-16 06:56:36
回答 2查看 290关注 0票数 0

我正在学习Gulp和NPM,并决定使用Browser-Sync与我正在开发的PHP项目(使用XAMPP)来测试自己。我知道Browser-Sync不适用于PHP文件,但我想在我的.css文件中使用它(稍后可能还会添加Sass)。

我在我的项目的根目录上安装了npm,Gulp,Gulp-watch和Browser Sync,看起来都很好。

然后,我创建了一个包含以下内容的gulp.js文件:

代码语言:javascript
复制
var gulp = require('gulp'),
watch = require('gulp-watch'),
browserSync = require('browser-sync').create();

gulp.task('watch', function() {
    browserSync.init({
        server: {
            baseDir: "./"
        }
    });

    watch('css/*.css', function() {
        browserSync.reload();
    });

});

但是,当我gulp watch打开一个新的浏览器窗口时,只会显示Cannot GET /错误。

另外,URL显示的是http://localhost:3002/而不是http://localhost:myproejct

我读到这可能与我的baseDir有关,所以我尝试了:

代码语言:javascript
复制
baseDir: ""
baseDir: "./"
baseDir: "../myproject"

有人知道我做错了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-16 13:12:20

你所做的远远超过了做你想做的事所必需的。您只需将浏览器同步用作托管站点顶部的代理层。

请参阅文档中的以下示例

代码语言:javascript
复制
# Proxy a PHP app + serve static files & watch them
$ browser-sync start --proxy 'mylocal.dev' --serveStatic 'public' --files 'public'

我认为这就是您所需要的,从站点的物理根运行它,并用php服务器地址替换mylocal.dev

代码语言:javascript
复制
npm install browser-sync -g

browser-sync start --proxy 'mylocal.dev' --serveStatic 'css' --files 'css/*.css'
票数 0
EN

Stack Overflow用户

发布于 2016-09-16 17:53:08

你的代码对我来说很好。假设您的目标HTML文件在浏览器中手动打开时有效:导致Cannot Get/错误的一个常见原因是使用了一个索引文件,而不是Browsersync的默认期望index.html。这就是你遇到的问题吗?如果需要自定义索引文件,可以设置index选项:

代码语言:javascript
复制
browserSync.init({
    server: {
        baseDir: 'mybasedirectorypath',
        index: 'notindex.html'
    }
});

Fwiw,您还可以更有效地完成这一任务,并为自己节省安装gulp-watch的重量(这个示例是从这个Browsersync文档示例中改编和简化的):

代码语言:javascript
复制
var gulp = require('gulp'),
    browserSync = require('browser-sync').create();

gulp.task('watch', function() {
    browserSync.init({
        server: {
            baseDir: './'
        }
    });
    gulp.watch('css/*.css').on('change',browserSync.reload)
});

至于使用自定义url,请查看有一些解决方案的https://github.com/BrowserSync/browser-sync/issues/646

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39525435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档