不捆绑时,有什么方法可以过滤用copyWorkboxLibraries复制的库?

问题描述 投票:0回答:1

[我正在使用npm脚本和节点构建我的项目,所以我使用workbox-build并在脚本中调用copyWorkboxLibraries,然后在我的SW中以importScripts中设置的路径调用setConfig。是否有任何方法可以复制少于所有工作箱库的内容,还是由开发人员删除不需要的内容?

service-worker progressive-web-apps workbox
1个回答
0
投票

您可以在构建脚本中执行以下操作:

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-core文件夹中删除每个名称以workbox-swworkbox-v[version]开头的文件。

© www.soinside.com 2019 - 2024. All rights reserved.