0

我有一个使用电子重载的电子项目,文件结构是:

./public/templates/ --------- contains some html that should be watched and trigger reload
./public/templates/test/ ---- contains some test/experimental html that should be ignored/not trigger reload
./notes --------------------- just containing some notes, this should not trigger reload
./node_modules -------------- should be ignored
./main.js ------------------- should trigger reload on change

我知道我可以通过ignored在 main.js 中设置要求电子重新加载选项来忽略目录。这使用 chokidar 进行过滤,这里描述了忽略的选项

但我不知道如何忽略多条路径。

我试图像这样要求电子重新加载:

require('electron-reload')(__dirname, {ignored: /node_modules|notes|public\/templates\/test/gi});

但是当我在应用程序中更改文件时 public/templates/test/正在重新加载。

  • electron 5.0.6
  • electron-reload 1.5.0

在此先感谢凯文

4

1 回答 1

1

您可以检查eletron-reload 模块

电子重载(路径,选项):

  • 路径:要观察的文件、目录或全局模式
  • 选项将默认为{ignored: /node_modules|[\/\\]\./, argv: []}.

然后在被忽略的字段中,您输入要忽略的正则表达式。您可以在此处检查正则表达式

例如,如果我想忽略我目录中的所有文件夹: node_modules, files/img, 。resorcesmain.js是:

//main.js

const ignoredNode = /node_modules|[/\\]\./;
const ignored1 = /resources|[/\\]\./; // all folder resorces => resources
const ignored2 = /files\/img|[/\\]\./; //all folder files/img => files/img

if (process.env.NODE_ENV !== 'production'){
    require('electron-reload')(__dirname, {ignored: [ignored1, ignored2, ignoredNode] });   
}

reload这会在文件夹中发生更改时阻止应用程序: node_modules, files/img, resorces.

现在你必须regular expressions为你的目的使用。

于 2020-05-19T20:12:44.610 回答