如何将自定义代码附加到生成的服务工作文件

Ben*_*Ben 5 webpack sw-precache

我正在使用Webpack和swPrecache.swPrecache为我生成一个service-worker.js文件,我现在想要将自定义代码附加到生成的文件中.

我创建了一个Webpack插件,将babel转换后的代码附加到service-worker.js文件中,如下所示:

swPrecache.write(filePath, options, (function(err) {

  // If we want to append an additional file.
  if (options.appendFile) {
    var sync = fs.readFile(options.appendFile, (error, code) => {
      if (error) {
        throw error;
      }
      let transformed = babel.transform(code, options.babelConfig || {});
      fs.appendFile(filePath, transformed.code);
    });
  }

  callback(err);
}));
Run Code Online (Sandbox Code Playgroud)

但是,这不包括在require() 我附加的文件中进行工作的代码.我相信我需要使用Webpack来生成service-worker.js文件,但我不确定如何做到这一点,可能是通过自定义入口点?

Har*_*hna 2

要将自定义脚本包含到生成的 serviceWorker 中,推荐的方法是使用配置importScripts中的选项。您可以在此处sw-precache找到更多详细信息。