【发布时间】:2020-04-30 21:57:29
【问题描述】:
我正在使用 gatsby-plugin-offline 开发 GatsbyJS 站点,该站点可在 example.com 上获得,并希望制作我在 example.com 上链接但位于 download.example.com/example 的 PDF 文件。 pdf离线可用。这可能吗?
【问题讨论】:
标签: progressive-web-apps gatsby workbox
我正在使用 gatsby-plugin-offline 开发 GatsbyJS 站点,该站点可在 example.com 上获得,并希望制作我在 example.com 上链接但位于 download.example.com/example 的 PDF 文件。 pdf离线可用。这可能吗?
【问题讨论】:
标签: progressive-web-apps gatsby workbox
是的,这是可能的。我不是 100% 熟悉 gatsby-plugin-offline 的配置,但看起来 https://www.gatsbyjs.org/packages/gatsby-plugin-offline/#available-options 描述了一个在其默认配置的末尾附加额外的服务工作者逻辑的过程:
plugins: [{
resolve: `gatsby-plugin-offline`,
options: {
appendScript: require.resolve(`src/custom-sw-code.js`),
},
}]
然后在src/custom-sw-code.js:
workbox.routing.registerRoute(
({url}) => url.pathname.endsWith('.pdf'),
// Use StaleWhileRevalidate, CacheFirst, etc. as desired.
new workbox.strategies.StaleWhileRevalidate({cacheName: 'pdfs'})
);
【讨论】: