Html 使用API时Browsersync不刷新更新? 简短问题版
对文件的更改发生在Html 使用API时Browsersync不刷新更新? 简短问题版,html,node.js,browser-sync,Html,Node.js,Browser Sync,对文件的更改发生在目标目录下。我有如下browsersync设置: var bs = require("browser-sync").create(); // Start the browsersync server bs.init({ server: './target' }); bs.reload("*.html"); 但是,这不会检测到target子目录中发生的更改并刷新浏览器。似乎以上几行还不够 长问题版 我已经建立了一个CL
目标
目录下。我有如下browsersync设置:
var bs = require("browser-sync").create();
// Start the browsersync server
bs.init({
server: './target'
});
bs.reload("*.html");
但是,这不会检测到target
子目录中发生的更改并刷新浏览器。似乎以上几行还不够
长问题版
我已经建立了一个CLI。它监视src/main/CSS
中的CSS更改,并将CSS(使用POSTSS)编译为target/main/CSS
。src/main/html
中的html模板也启用了同样的功能
监视文件更改并运行执行编译的函数,这部分工作正常
全部
我希望BrowserSync能够在执行编辑时接收目标
目录中的文件更改并刷新浏览器,但是我没有看到任何刷新。我在service
命令中设置了如下BrowserSync:
var bs = require("browser-sync").create();
// Start the browsersync server
bs.init({
server: './target'
});
bs.reload("*.html");
可以通过执行以下操作来测试CLI:
git clone https://github.com/superflycss/cli
cd cli
npm i -g
或仅从NPM安装:
npm i -g @superflycss/cli
然后运行:
sfc new project
cd project
sfc serve
target
文件夹将在浏览器中打开。将URL更改为http://localhost:3000/test/html/
。在src/test/html/index.html
中编辑html。更改编译为target/test/html/index.html
,BrowserSync应该会根据更改IIUC进行同步…但它不是
想法?很明显,但是
bs.reload(“*.html”)必须在观察者的事件中调用。换句话说,每当有文件更改调用时,bs.reload(“*.html”)代码>
由于我使用gaze监视文件更改,因此我最终执行了以下操作:
gaze(PLI.SRC_MAIN_CSS, (err, watcher) => {
if (err) {
log('error', 'Error buliding src/main/css/ content.');
throw new Error(err);
}
/**
* Triggered both when new files are added and when files are changed.
*/
watcher.on('changed', function (filepath) {
buildMainCSS();
bs.reload("*.html");
});
});