Gulp browsersync仅重新加载';根';index.html
我正在开发一个网站构建工具()BrowserSync在root index.html上运行时效果很好,但它不会在其他任何地方重新加载… 以下是我如何做的(简化)方式。。。假设我有:Gulp browsersync仅重新加载';根';index.html,gulp,browser-sync,Gulp,Browser Sync,我正在开发一个网站构建工具()BrowserSync在root index.html上运行时效果很好,但它不会在其他任何地方重新加载… 以下是我如何做的(简化)方式。。。假设我有: src/index.html src/_header.html src/page/index2.Html 一个任务通过包含HTML部分(它们的名称以“\开头)来构建HTML页面 一个任务启动浏览器同步服务器 gulp.task('serveLocal', () => { return browserS
src/index.html
src/_header.html
src/page/index2.Html
一个任务通过包含HTML部分(它们的名称以“\开头)来构建HTML页面
一个任务启动浏览器同步服务器
gulp.task('serveLocal', () => {
return browserSync.init({
server:{ baseDir : 'www' },
port: 3000,
open: true
});
});
一个任务被调用重新加载browserSync(分开,因为它被我的项目中的其他“观察者任务”调用)
还有一个任务监视所有HTML(包括部分),应该重建整个页面,然后重新加载
gulp.task('watch-pagesHtml', () => {
const SRC = 'src/**/*.html';
return watch( SRC, () => {
runSequence('pagesHtml', 'liveReload');
});
return;
});
I通过如下方式启动runSequence来启动这些任务:
gulp.task('default', () => {
runSequence('pagesHtml', 'watch-pagesHtml');
});
当我在索引
或\u标题
上工作时:一点问题都没有!将应用、构建更改,并重新加载浏览
但是,当我处理页面/index2
时,会应用并构建更改,但不会重新加载浏览器。(尽管F5可以工作并显示应用的更改)
我做错了什么?Browsersync通过在主体中注入异步脚本标记来工作,启动项目并检查主体标记。(使用浏览器开发工具) 如果您不能对以下内容进行罚款:
…
(和browsersync文件),存在问题
我阅读了您的代码,我注意到您在头文件中编写了
(打开标记),在其他页脚文件中编写了
(关闭标记),这让人感到困惑,但在我认为必要时,我没有在其他html文件中找到body标记
浏览器“尝试”修复html中的错误,例如从原始html文件自动完成标记
对于你的问题,我有两个可能的答案
1) 浏览器会自动完成头文件中的标记,也会自动完成页脚文件中的标记,因此browsersync在插入重新加载页面所需的反异步脚本标记时会出现问题,因为有两个主体。(如果可能的话)
2) 浏览器在html中找不到body标记,因此浏览器会在之后创建它,但browsersync会将脚本插入html文件中,而不是浏览器中
确保body标记由您自己的代码生成,而不是由浏览器生成
我希望这会有所帮助。Browsersync通过在主体中注入异步脚本标记来工作,启动项目并检查主体标记。(使用浏览器开发工具) 如果您不能对以下内容进行罚款:
…
(和browsersync文件),存在问题
我阅读了您的代码,我注意到您在头文件中编写了
(打开标记),在其他页脚文件中编写了
(关闭标记),这让人感到困惑,但在我认为必要时,我没有在其他html文件中找到body标记
浏览器“尝试”修复html中的错误,例如从原始html文件自动完成标记
对于你的问题,我有两个可能的答案
1) 浏览器会自动完成头文件中的标记,也会自动完成页脚文件中的标记,因此browsersync在插入重新加载页面所需的反异步脚本标记时会出现问题,因为有两个主体。(如果可能的话)
2) 浏览器在html中找不到body标记,因此浏览器会在之后创建它,但browsersync会将脚本插入html文件中,而不是浏览器中
确保body标记由您自己的代码生成,而不是由浏览器生成
我希望这能有所帮助。有点晚了,但如果有人仍在寻找答案,你可以这样做:
var browserSync = require("browser-sync");
browserSync({
proxy: "wordpress.dev",
snippetOptions: {
ignorePaths: "wp-admin/**"
}
});
有点晚,但如果有人仍在寻找答案,您可以这样做:
var browserSync = require("browser-sync");
browserSync({
proxy: "wordpress.dev",
snippetOptions: {
ignorePaths: "wp-admin/**"
}
});
非常感谢您的分析!。我会调查你的建议,并告诉你我是否能解决我的问题:)非常感谢你的分析!。我会调查你的建议,并告诉你我是否能解决我的问题:)
var browserSync = require("browser-sync");
browserSync({
proxy: "wordpress.dev",
snippetOptions: {
ignorePaths: "wp-admin/**"
}
});