【发布时间】:2020-04-09 22:56:51
【问题描述】:
我正在使用 npm 脚本和节点构建我的项目,所以我使用 workbox-build 并在脚本中调用 copyWorkboxLibraries,然后在我的 SW 中调用 importScripts,路径设置在 setConfig .有什么方法可以复制少于所有的工作箱库,还是由开发人员删除不需要的内容?
【问题讨论】:
标签: service-worker progressive-web-apps workbox
我正在使用 npm 脚本和节点构建我的项目,所以我使用 workbox-build 并在脚本中调用 copyWorkboxLibraries,然后在我的 SW 中调用 importScripts,路径设置在 setConfig .有什么方法可以复制少于所有的工作箱库,还是由开发人员删除不需要的内容?
【问题讨论】:
标签: service-worker progressive-web-apps workbox
你可以在构建脚本中做这样的事情:
const pkgs = [
'workbox-core',
'workbox-sw',
];
copyWorkboxLibraries('./docs')
.then(s => {
console.log(`Workbox libraries available in ${s}.`);
return s;
})
.then(async d => {
const dir = await fs.opendir(path.resolve('./docs/' + d));
for await (const dirent of dir) {
if (!pkgs.some(pk => dirent.name.includes(pk))) {
fs.unlink(path.resolve('./docs/' + d + '/' + dirent.name));
}
}
});
这将从您将与 SW 一起部署的 workbox-v[version] 文件夹中删除名称不以 workbox-core 或 workbox-sw 开头的所有文件。
【讨论】: