Есть ли способ фильтрации библиотек, скопированных с помощью copyWorkboxLibraries, если нет комплектации? - PullRequest
0 голосов
/ 10 апреля 2020

Я строю свой проект с помощью npm скриптов и узлов, поэтому я использую workbox-build и вызываю copyWorkboxLibraries в скрипте, а затем в моем ПО я звоню importScripts с путем, установленным в setConfig. Есть ли способ скопировать меньше, чем все библиотеки рабочего ящика, или разработчик может удалить ненужное?

1 Ответ

0 голосов
/ 10 апреля 2020

Вы можете сделать что-то подобное в скрипте сборки:

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));
      }
    }
  });

Это удалит каждый файл, имя которого не начинается с workbox-core или workbox-sw из папки workbox-v[version], которую вы будет развертываться вместе с вашим ПО.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...