我对在我的应用程序中使用 sw-precache 和 gulp 非常陌生。我创建了由 angularjs 完成的 Web 应用程序,并从我们的后端 nodejs 应用程序中获取信息。在那个应用程序中,我添加了sw-precache
功能来制作离线第一个应用程序。
来自后端的 api 之一,公司图像将嵌入如下:
https://www.myserver.com/api/getcompany
{"company": [
{"id": 1, "img": "https://myserver.com/images/img.jpg"},
{"id": 2, "img": "https://myserver.com/images/img.jpg"}
]}
这是我sw-preache
与 gulp 一起使用以生成服务工作者文件的编码。
gulp.task('generate-service-worker', function(callback) {
var path = require('path');
var swPrecache = require('sw-precache');
var rootDir = 'dist';
swPrecache.write(path.join(rootDir, 'sw.js'), {
staticFileGlobs: [rootDir + '/**/*.{js,html,css,png,jpg,gif}'],
stripPrefix: rootDir,
runtimeCaching: [{
urlPattern: /^https:\/\/myserver.com\.com\/api/,
handler: 'networkFirst'
}, {
urlPattern: /\/api\//,
handler: 'fastest',
options: {
cache: {
maxEntries: 10,
name: 'api-cache-01'
}
}
}]
}, callback);
});
请让我知道上面的编码是缓存 API 的正确方法,请让我知道如何在 gulp 文件中缓存来自 URL 的图像?