workspace
|--dev
|--proj
|--css
|--style.css
|--js
|--app.js
|index.php
|something.html
|gulpfile.js
|package.json
我已經安裝了命名爲dev.local
上...workspace\dev
vhost
目錄結構。如您所見,我在我的proj
目錄中創建了一個gulpfile.js
。
現在,如果我運行gulp browser-sync
命令我的瀏覽器窗口打開顯示以下url http://dev.local:3000/proj/
。它完全打開我的index.php
頁面,但如果我在文件中做了任何修改,它們將不會被監控,也不會被注入到我的頁面中。所以沒有自動重新加載我的網頁。
這是我gulpfile.js
var gulp = require('gulp');
var bs = require('browser-sync').create(); // create a browser sync instance.
gulp.task('browser-sync', function() {
bs.init({
open: 'external',
host: 'dev.local',
proxy: 'dev.local/proj'
});
});
gulp.task('watch', ['browser-sync'], function() {
gulp.watch("*.html,*.php,css/*.css,js/*.js").on('change', bs.reload);
});
這裏是我的端子的輸出
gulp browser-sync
[12:14:12] Using gulpfile ~/Documents/workspace/dev/proj/gulpfile.js
[12:14:12] Starting 'browser-sync'...
[12:14:12] Finished 'browser-sync' after 15 ms
[BS] Proxying: http://dev.local
[BS] Access URLs:
------------------------------------------------
Local: http://localhost:3000/proj
External: http://dev.local:3000/proj
------------------------------------------------
UI: http://localhost:3001
UI External: http://dev.local:3001
------------------------------------------------
我已經搜查SO各種解決方案,但無濟於事。請幫我卡住了。
UPDATE
我使用BrowserSync版本2.18.8和一飲而盡版本3.9.1
我要做的第一件事就是將'bs.reload'更改爲'function(){console.log('changed')}'並查看它是否與gulp watch或bs.reload有關。您使用的是哪種版本的瀏覽器同步,文檔建議使用前後的2.-具有不同的語法 – dougajmcdonald
get的2.0文檔建議您可以調用'bs.watch()'而不是'gulp.watch'如果您想要:https ://browsersync.io/docs/api#api-get值得一試? – dougajmcdonald
@dougajmcdonald'function(){console.log('changed')}'不會在控制檯上返回任何輸出 – geeksal