1

我正在使用Grunt + browserSync + grunt-php。服務器正常啓動。問題是,每當我對PHP文件進行更改時,更改都是而不是在瀏覽器中自動重新加載。儘管設置了適當的設置,但我必須手動重新加載頁面。過去1週一直試圖解決這個問題,但沒有成功。嘗試了其他在線來源,但也沒有幫助。請幫忙。Grunt browserSync grunt-php不會在更改時重新加載PHP文件

目錄結構:

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 
    ]); 

}; 

回答

0

有種靈魂幫助我的答案。我不讚賞答案,並希望分享該解決方案,以便它可以幫助有需要的人。這裏是:

1)只要確保你有PHP文件中的身體標記,你想重新加載。

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> 
相關問題