【问题标题】:Browsersync on my port 10080我的端口 10080 上的 Browsersync
【发布时间】:2016-03-25 19:35:40
【问题描述】:

我无法让 Grunt 的浏览器同步来更新我的更改。我没有太多使用 Grunt,所以我对此有点陌生。也许你们中的一些人知道可能出了什么问题?

我正在使用 XAMPP 并在以下位置运行一个 wordpress 站点: http://localhost:10080/wp_demo2/

(我使用 10080 端口以避免与 Skype 冲突)

这是我的 gruntfile.js(更新)

var root = './htdocs/wp_demo2/wp-content/themes/isak/';
module.exports = function (grunt) {

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),

        sass: {
            options: {
                style: 'expanded', 
                precision: 5 
            },
            all: {
                files: {
                    'css/output.css': 'scss/input.scss'
                }
            }
        },
        watch: {            
            files: 'scss/**/*.scss',
            tasks: ['sass']

        },
        browserSync: {
            dev: {  
                bsFiles:
                {
                    src: [root+'css/output.css', root + '**/*.php']
                },
                options: {                    
                    watchTask: true,
                    proxy: "localhost:10080/wp_demo2"
                }
            }
        }

    });

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

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

};

【问题讨论】:

    标签: wordpress gruntjs xampp browser-sync


    【解决方案1】:

    Browsersync 选项中的files 是本地路径,而不是 URL。我会在path 中设置端口并将路由移动到options 之外的文件。

    // ...
    
    browserSync: {
        dev: {
            bsFiles: {
                src: ['css/output.css', '**/*.php']
            },
            options: {
                watchTask: true,
                proxy: 'localhost:10080/wp_demo2'
            }
        }
    }
    
    // ...
    
    grunt.registerTask('dev', ['sass', 'browserSync', 'watch']);
    

    output.css 被修改时,Browsersync 应该更新。

    您的Gruntfile.js 应位于. 路径中。

    **/* 表示“在所有文件夹中搜索”。

    【讨论】:

    • 感谢您的回复。我按照你写的做了,它用 chrome 打开了网站(端口 3000)。尽管 input.scss 中的更改不会更新浏览器。
    • 您还需要运行watch 任务。我已更新代码以包含所有任务。
    • Browsersync + Grunt + watch 配置在这里解释:browsersync.io/docs/grunt
    • 谢谢。我更新了我的代码,并阅读了这篇文章。但是 input.scss 中的更改仍然不会更新网络浏览器。 grunt watch 正在运行(我用 grunt 命令运行),它没有给出任何错误。 sass 部分正在工作,因为我在手动刷新网络浏览器时看到了更新。嗯,我不确定我错过了什么。
    • 您正在运行我创建的dev 任务吗?如果只运行browsersync 任务watch 不会执行。 Browsersync 似乎没有找到output.css,请尝试验证路径。
    猜你喜欢
    • 2016-08-22
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    相关资源
    最近更新 更多