【问题标题】:When not bundling, is there any way to filter the libraries copied with copyWorkboxLibraries?不捆绑时,有什么方法可以过滤使用 copyWorkboxLibraries 复制的库?
【发布时间】:2020-04-09 22:56:51
【问题描述】:

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

【问题讨论】:

    标签: service-worker progressive-web-apps workbox


    【解决方案1】:

    你可以在构建脚本中做这样的事情:

    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-coreworkbox-sw 开头的所有文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-17
      • 2017-11-02
      • 2021-11-08
      • 1970-01-01
      • 2021-01-04
      • 2019-08-31
      相关资源
      最近更新 更多