首页 > 解决方案 > 正则表达式和 config.json -文件

问题描述

我正在构建一个 Angular 应用程序并试图找出编写 ngsw-config.json 文件的方法,以便为服务人员定义规则。

我假设正则表达式会在配置文件中被识别为正则表达式,并且不会自动解释为普通字符/文本,但事实并非如此。例如,我有以下一段代码:

"name": "authentication",
      "urls": [
        "/login",
        "/.*authentication.*"
      ],

part .* 在我的理解中不被识别为正则表达式(在这种情况下,正则表达式的意思是任何具有文本“身份验证”的路径都属于这一类,对吧?)。这段配置试图阻止 service worker 在这两种情况下带头,它与 /login 一起使用,但不适用于身份验证部分。

问题:我可以以某种方式修改我的文件以使其识别正则表达式定义吗?

标签: regexconfiguration

解决方案


根据https://angular.io/guide/service-worker-config上的文档, 您可以使用有限的 glob 格式。

我不知道你想匹配什么样的网址。

  1. 选项:如果你想匹配一个 url,/foo/bar/authentication/foo2/bar2你可以使用:
"name": "authentication",
      "urls": [
        "/login",
        "/**/authentication/**/*"
      ],
  1. 选项:如果你想匹配一个 url,/foo/bar/something-authentication-otherthing/foo2/bar2你可以使用:
"name": "authentication",
      "urls": [
        "/login",
        "/**/*authentication*/**/*"
      ],

推荐阅读