我正在使用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文件,但我不确定如何做到这一点,可能是通过自定义入口点?
答案 0 :(得分:1)
要将自定义脚本包含到生成的serviceWorker中,recommended方式是使用importScripts
config中的sw-precache
选项。您可以找到更多详细信息here。