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

时间:2016-08-29 03:20:35

标签: 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);
}));

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

1 个答案:

答案 0 :(得分:1)

要将自定义脚本包含到生成的serviceWorker中,recommended方式是使用importScripts config中的sw-precache选项。您可以找到更多详细信息here