Nodejs中browser-sync 排除指定路径的正确姿势是啥?

发布于 1周前 作者 yibo5220 来自 nodejs/Nestjs

Nodejs中browser-sync 排除指定路径的正确姿势是啥?

browser-sync start --help

–ignore Ignore patterns for file watchers [array]

-f, --files File paths to watch [array]

下边是我的使用的命令

browser-sync start --proxy “http://127.0.0.1/
–cwd “/home/wdssmq/wwwroot/www/zbp_dev/zb_users”
–ignore “bin/, cache/, usr/”
–files “plugin//*.css, plugin//.html, plugin/**/.js, plugin//*.php, plugin//*.txt” #—— 只监听插件变化 ; -----

描述上一个是 Ignore patterns,一个是 File paths,就比较迷惑……

写 Z-BlogPHP 插件,同时开后台管理和前台页面,后台刷新时会预处理文件保存到 bin/,然后前台调用,预处理的操作好像就会重复触发刷新……

另外文档里有 logFileChanges 参数,但是仔细看了下不支持 cli 使用的样子?

所以 cli 里也看不到具体是哪个文件修改了。。

Browsersync 支持的参数 https://browsersync.bootcss.com/docs/options#option-logFileChanges


1 回复

在Node.js中使用BrowserSync时,如果你想排除指定路径,可以通过配置files选项中的watchOptionsignored属性来实现。以下是具体的步骤和代码示例:

  1. 安装BrowserSync: 如果你还没有安装BrowserSync,可以通过npm进行安装:

    npm install browser-sync --save-dev
    
  2. 配置BrowserSync: 在你的Node.js脚本中,配置BrowserSync并指定要排除的路径。例如,如果你想排除node_modulesdist目录,可以这样做:

    const browserSync = require('browser-sync').create();
    
    browserSync.init({
      server: {
        baseDir: "./",
        watchOptions: {
          ignored: /node_modules|dist/
        }
      }
    });
    

    在上面的配置中,ignored属性使用了正则表达式来匹配需要排除的路径。node_modulesdist目录将被忽略,不会触发BrowserSync的重新加载。

  3. 运行脚本: 保存你的Node.js脚本(例如server.js),然后在命令行中运行:

    node server.js
    

    现在,当你修改除了node_modulesdist目录之外的文件时,BrowserSync将自动重新加载浏览器。

通过这种方式,你可以灵活地配置BrowserSync以排除特定的路径,从而避免不必要的重新加载。

回到顶部