如何使用负全局模式?
How to use negative glob pattern?
我们的构建生成 e2015 和 es5 包 - 例如在 dist 目录中,我们将有这样的文件:
/common-es2015.7765e11579e6bbced8e8.js
/common-es5.7765e11579e6bbced8e8.js
/custom.js
我们要配置 ngsw-config.json 以预取除名称中带有 es5
的所有 js 文件。
到目前为止我们尝试过的 glob 模式不起作用 - 但当我们使用此在线测试器时它们起作用
Example:
模式:/!(*es5)*.js
测试字符串:
/common-es2015.7765e11579e6bbced8e8.js
/common-es5.7765e11579e6bbced8e8.js
/custom.js
/favicon.ico
正确选择了common-es2015*
和custom.js
但是当我们在 ngsw-config.json
中使用相同的模式时它不起作用 - 例如
{
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": ["/favicon.ico", "/index.html", "/*.css", "/!(*es5)*.js"]
}
},
根据 angular docs 应该支持负 glob。
这个模式有什么问题?
我找到了一个很好的解决方案here
思路是先包含所有js文件,再排除es5文件:
{
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": ["/favicon.ico", "/index.html", "/*.css", "/*.js", "!/*-es5*.js"]
}
}
}
然后我们可以为 es5 文件创建另一个惰性资产组:
{
"name": "assets",
"installMode": "lazy",
"resources": {
"files": ["..", "/*-es5*.js"]
}
}
我们的构建生成 e2015 和 es5 包 - 例如在 dist 目录中,我们将有这样的文件:
/common-es2015.7765e11579e6bbced8e8.js
/common-es5.7765e11579e6bbced8e8.js
/custom.js
我们要配置 ngsw-config.json 以预取除名称中带有 es5
的所有 js 文件。
到目前为止我们尝试过的 glob 模式不起作用 - 但当我们使用此在线测试器时它们起作用
Example:
模式:/!(*es5)*.js
测试字符串:
/common-es2015.7765e11579e6bbced8e8.js
/common-es5.7765e11579e6bbced8e8.js
/custom.js
/favicon.ico
正确选择了common-es2015*
和custom.js
但是当我们在 ngsw-config.json
中使用相同的模式时它不起作用 - 例如
{
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": ["/favicon.ico", "/index.html", "/*.css", "/!(*es5)*.js"]
}
},
根据 angular docs 应该支持负 glob。
这个模式有什么问题?
我找到了一个很好的解决方案here
思路是先包含所有js文件,再排除es5文件:
{
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": ["/favicon.ico", "/index.html", "/*.css", "/*.js", "!/*-es5*.js"]
}
}
}
然后我们可以为 es5 文件创建另一个惰性资产组:
{
"name": "assets",
"installMode": "lazy",
"resources": {
"files": ["..", "/*-es5*.js"]
}
}