使用vue-cli-pwa插件时如何配置importScript
How to configure importScript when using vue-cli-pwa plugin
自动生成的 service-worker.js
导入工作箱如下所示:
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
由于我的客户可能无法访问 googleapis.com
,我想从我的服务器提供工作箱,如 document 描述。
importScripts('/third_party/workbox/workbox-sw.js');
workbox.setConfig({
modulePathPrefix: '/third_party/workbox/'
});
但我无法从 @vue/cli-plugin-pwa
中找到配置它的方法。
Extra: @vue/cli-plugin-pwa
正在使用 workbox@4.3.1
,找不到匹配的文档。 google 上的文档适用于版本 5.1.2。
文件资产
vue.config.js
module.exports = {
pwa: {
workboxPluginMode: 'InjectManifest', // 自定义功能
workboxOptions: {
swSrc: './src/sw.js',
swDest: 'service-worker.js',
},
}
}
sw.js
importScripts('/third-party/workbox/workbox-sw.js');
workbox.setConfig({
modulePathPrefix: '/third-party/workbox/'
});
console.log('hello from service worker');
输出:
importScripts("/precache-manifest.247d2cef5fd7daa4fb6945d4ca3b21f4.js", "https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts('/third-party/workbox/workbox-sw.js');
workbox.setConfig({
modulePathPrefix: '/third-party/workbox/'
});
console.log('hello from service worker');
您可以找到 v4 文档 here, or just read the source code。
总之,如果你还想使用GenerateSW
模式:
module.exports = {
pwa: {
workboxOptions: {
importWorkboxFrom: 'local'
}
}
}
自动生成的 service-worker.js
导入工作箱如下所示:
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
由于我的客户可能无法访问 googleapis.com
,我想从我的服务器提供工作箱,如 document 描述。
importScripts('/third_party/workbox/workbox-sw.js');
workbox.setConfig({
modulePathPrefix: '/third_party/workbox/'
});
但我无法从 @vue/cli-plugin-pwa
中找到配置它的方法。
Extra: @vue/cli-plugin-pwa
正在使用 workbox@4.3.1
,找不到匹配的文档。 google 上的文档适用于版本 5.1.2。
文件资产
vue.config.js
module.exports = {
pwa: {
workboxPluginMode: 'InjectManifest', // 自定义功能
workboxOptions: {
swSrc: './src/sw.js',
swDest: 'service-worker.js',
},
}
}
sw.js
importScripts('/third-party/workbox/workbox-sw.js');
workbox.setConfig({
modulePathPrefix: '/third-party/workbox/'
});
console.log('hello from service worker');
输出:
importScripts("/precache-manifest.247d2cef5fd7daa4fb6945d4ca3b21f4.js", "https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts('/third-party/workbox/workbox-sw.js');
workbox.setConfig({
modulePathPrefix: '/third-party/workbox/'
});
console.log('hello from service worker');
您可以找到 v4 文档 here, or just read the source code。
总之,如果你还想使用GenerateSW
模式:
module.exports = {
pwa: {
workboxOptions: {
importWorkboxFrom: 'local'
}
}
}