钉钉H5微应用、微信H5微应用如何去掉缓存

tips:此方案必须具备webpack配置能力

浏览器有缓存?

清除缓存就好了,这是大多数前端人员回复的解决方案.

那钉钉H5微应用、微信H5微应用有缓存?

通过钉钉APP强制清缓存,没错,可以达到目的.要是遇到不会清缓存的用户,而且其中偏偏就有你的boss,抓瞎,大脑emo中;考验语言组织能力的时候到了,忽悠得好升职加薪,忽悠不好关机领钱.

脑中一颤,这个问题不解决,凌晨4点的太阳见定了,头发也要见顶了.

img

灵机一动,有缓存,那就让他缓存,去适应他的缓存就好了,莫急,方案已在来的路上了.

此案例为spa webpack打包应用,其他技术栈可用该思想进行尝试,此方案不是终极解决方案,只能算我尝试后的最优解决方案,只能降低触发缓存的概率,并不能完全根除.

------清除钉钉h5微应用、微信h5微应用解决方案 开始------

只要被缓存的文件没有更换,或者更换的文件并没有被缓存,那微应用打开是不是就不会触发缓存问题;

道理是这么个道理,咱说干就干,已经晚上10点了,一刻也不能耽误;

通过扒拉webpack4文档,它有3种打包方案hash、chunkHash、contentHash,contentHash打包方式恰巧与咱们的灵感重合(低于4版本可用chunkHash);心中一阵窃喜,我已经开始飘了,感觉10:30能回家;webpack出包设置方式如下配置:

output: {
  chunkFilename: `js/[id].[${process.env.NODE_ENV === 'production' ? 'contentHash' : 'hash'}].js`, // development不支持contentHash、chunkHash
    filename: `js/[name].[${process.env.NODE_ENV === 'production' ? 'contentHash' : 'hash'}].js`, // development不支持contentHash、chunkHash
    publicPath: '/', // 解决多路由错乱
    },

怎么解决别一下子把所有文件全部缓存呢?

再去扒拉webpack4文档,他有异步加载以及分包策略,这样它就不能全部缓存我的文件了,我突然间又行了,webpack分包配置如下:

optimization: {
  // 将多入口的webpack运行时文件打包成一个 runtime文件
  runtimeChunk: 'single',
    moduleIds: 'hashed',
    splitChunks: {
    chunks: 'all',
      // 拆分代码规则(符合即单独拆分到一个chunk中)
      maxInitialRequests: 4, // 在初始化加载时,请求数量大于4
      automaticNameDelimiter: '-',
      name: true, // 代码块的名字,设置为true则表示根据模块和缓存组秘钥自动生成, 实现固化 chunkId,保持缓存的能力
      /* 缓存组,用于继续细分代码。
        缓存组默认将node_modules中的模块拆分带一个叫做vendors的代码块, 将最少重复引用两次的模块放入default中。
        或者自定义将符合规则的模块单独拆分进一个chunk中。*/
      cacheGroups: {
      default: false, // 禁用默认规则
        vendors: false, // 禁用默认规则
        vendor: {
        name: 'vendor', // 使用 vendor 入口作为公共部分
          chunks: 'initial',
          test: /[\\/]node_modules[\\/]/,
          enforce: true,
          priority: -10,
          },
      polyfill: {
        chunks: 'initial',
          test: 'polyfill',
          name: 'polyfill',
          },
          // 对异步组件进行抽取
          'async-vendor': {
          name: 'async-vendor',
            chunks: 'async',
            test: (module) => {
            // 缓存组的规则,表示符合条件的的放入当前缓存组
            if (/[\\/]node_modules[\\/](echarts|zrender)/.test(module.context)) {
              return false;
            }
            return /[\\/]node_modules[\\/]/.test(module.context);
          },
            },
            'async-biz': {
            name: 'async-biz',
              chunks: 'async',
              minChunks: 2, // 被引用次数大于2时进行拆分
              },
              // css文件单独打包进一个文件中
              styles: {
              name: 'styles',
                test: /\.(less|css)$/,
                chunks: 'async',
                enforce: true,
                },
                },
                },
          },

继续肝,更改完webpack4配置反复的打包测试、对打包文件进行对比,发到钉钉,手指微微颤动的点击了一下界面,竟然没有触发缓存,连续试了多次,居然都没有触发缓存;

我看了看天花板,看了看表,又看了看天花板,又看了看表,瞬间泪如泉涌,表显时间10.31,那一分钟是对我骄傲的惩罚,肝完收工,明天继续肝.

------清除钉钉h5微应用、微信h5微应用解决方案 结束------

作者: 半米飞行

来源: [钉钉H5微应用、微信H5微应用如何去掉缓存](钉钉H5微应用、微信H5微应用如何去掉缓存 - 掘金 (juejin.cn))

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容