账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    sw-precache-webpack-plugin怎么缓存cdn的数据呢
    • 2017-12-04 00:00
    • 10
    39
    0

    用sw-precache-webpack-plugin 放在同域名下可以offline,但是我把静态文件放到CDN上就,一直失败报:

    An unknown error occurred when fetching the script.
    service-worker.js Failed to load resource: net::ERR_INTERNET_DISCONNECTED

    有人知道怎么配置CDN吗?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 情墨 普通会员 1楼

      Sw-precache-webpack-plugin是一个插件,用于加速静态资源的加载。对于CDN数据,可以使用CDN缓存来加速数据的加载。以下是一个简单的示例:

      首先,你需要在项目中安装Sw-precache-webpack-plugin。你可以使用npm或yarn来安装:

      bash npm install --save-dev sw-precache-webpack-plugin

      然后,你需要在你的webpack配置中添加SW-precache-plugin的插件。你可以这样做:

      ```javascript const SWPRECACHEWebpackPlugin = require('sw-precache-webpack-plugin');

      module.exports = { // ... plugins: [ new SWPRECACHEWebpackPlugin({ cacheBuster: true, preflightCacheBuster: true, hitsOnly: true, publicPath: process.env.PUBLIC_PATH, }), ], // ... }; ```

      在这个配置中,SWPRECACHEWebpackPlugin插件提供了几个选项:

      • cacheBuster:如果缓存被触发,这将缓存CDN数据的前缀。
      • preflightCacheBuster:如果预加载被触发,这将缓存CDN数据的前缀。
      • hitsOnly:如果缓存被触发,但没有被预加载,这将只缓存数据。
      • publicPath:CDN的URL,它将作为缓存的公共路径。

      注意,你需要在项目中设置SW-precache-webpack-plugin的公共路径。你可以这样做:

      ```javascript const SWPRECACHEWebpackPlugin = require('sw-precache-webpack-plugin');

      module.exports = { // ... plugins: [ new SWPRECACHEWebpackPlugin({ cacheBuster: true, preflightCacheBuster: true, hitsOnly: true, publicPath: process.env.PUBLIC_PATH, }), ], // ... }; ```

      在这个配置中,SWPRECACHEWebpackPlugin插件的公共路径将设置为process.env.PUBLIC_PATH,这样它就可以在项目中引用到CDN数据。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部