2

我正在使用 Grunt + browserSync + grunt-php。服务器正常启动。问题是每当我对 PHP 文件进行更改时,这些更改都不会在浏览器中自动重新加载。尽管设置到位,但我必须手动重新加载页面。过去 1 周一直在尝试解决此问题,但没有成功。尝试了其他在线资源,但也没有帮助。请帮忙。

目录结构:

my_app/
   src/
      index.php
      about.php
   dist/

Gruntfile.js:

"use strict";

module.exports = function (grunt) {

    grunt.initConfig({

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

        watch: {
            php: {
                files: ['src/**/*.php']
            }
        },

        browserSync: {
            dev: {
                bsFiles: {
                    src: 'src/**/*.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: 'src'
                }
            }
        }

    });


    grunt.registerTask('default', [
        'php', // Using the PHP instance as a proxy
        'browserSync',
        'watch'             // Any other watch tasks you want to run
    ]);

};
4

1 回答 1

0

一个善良的灵魂帮助我回答了这个问题。我不相信答案,并想分享解决方案,以便它可以帮助有需要的人。这里是:

1) 只需确保您在要重新加载的 PHP 文件中有 body 标记。

2)在页面中包含以下JS代码:

<script id="__bs_script__">
//<![CDATA[
    document.write("<script async src='/browser-sync/browser-sync-client.js?v=2.17.5'><\/script>".replace("HOST", location.hostname));
//]]>
</script>
于 2016-10-27T22:21:51.393 回答