【发布时间】:2018-06-27 08:17:51
【问题描述】:
我正在编写 PWA 应用程序。我正在使用我正在使用的模板(Vue.js PWA 模板)中的默认 Service Worker,但现在我决定从头开始编写我自己的。我已将它 (service-worker.js) 放入 static 文件夹中,因为我想为其设置静态名称 - 我不想每次都更改名称(构建)。
在这个特定的 Service Worker 中,我想使用包 name 和 version,这样我就可以很好地生成缓存 ID。
所以我想实现这样的目标:
./package.json:
{
"name": "my.app",
"version": "1.0.0",
...
}
./static/service-worker.js:
var CACHE_ID = 'PACKAGE_NAME-vPACKAGE_VERSION';
...
./build/service-worker.js:
var CACHE_ID = 'my.app-v1.0.0';
./build/service-worker.js 显示了我想要实现的目标。
我已经尝试https://www.npmjs.com/package/string-replace-loader 使用以下配置:
{
test: /service-worker\.js$/,
loader: 'string-replace-loader',
options: {
multiple: [
{
search: 'PACKAGE_NAME',
replace: packageConfig.name
},
{
search: 'PACKAGE_VERSION',
replace: packageConfig.version
}
]
}
}
但据我了解,放在static 中的文件不是模块(对吗?),因此module.rules 不会检查这些文件。
我将非常感谢帮助和/或指导我如何解决这个问题。
【问题讨论】:
标签: javascript webpack service-worker pwa