V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jaween
V2EX  ›  程序员

vite 只有当文件内容发生变化此 hash 才会重新生成,类似于 webpack 的 contenthash 的功能,在 vite 如何实现

  •  
  •   jaween · 2023-02-01 10:38:30 +08:00 · 1951 次点击
    这是一个创建于 664 天前的主题,其中的信息可能已经有所发展或是发生改变。
    14 条回复    2023-02-02 17:22:04 +08:00
    356693212
        1
    356693212  
       2023-02-01 10:43:35 +08:00
    谷歌一下很难吗,rollup 最新的已经修改了 hash 算法了。
    jaween
        2
    jaween  
    OP
       2023-02-01 11:11:01 +08:00
    @356693212 小弟愚钝,望仙人指路
    karott7
        3
    karott7  
       2023-02-01 13:36:36 +08:00
    import { createHash } from 'node:crypto'
    const hash = createHash('sha256').update(content).digest('base64')
    Rrrrrr
        4
    Rrrrrr  
       2023-02-01 13:43:55 +08:00
    服了,发个 github 的 url 都发不出。
    Rrrrrr
        5
    Rrrrrr  
       2023-02-01 13:43:59 +08:00
    jaween
        6
    jaween  
    OP
       2023-02-01 13:46:38 +08:00
    @karott7 content 是什么
    jaween
        7
    jaween  
    OP
       2023-02-01 13:48:09 +08:00
    @Rrrrrr 我也看过这个 issues ,貌似并没有给到解决方案吧
    Rrrrrr
        8
    Rrrrrr  
       2023-02-01 13:49:04 +08:00
    @jaween 里面不是有些人贴了临时的方案
    Rrrrrr
        9
    Rrrrrr  
       2023-02-01 13:49:54 +08:00
    vite/issues/6928 这里有中文的
    karott7
        10
    karott7  
       2023-02-01 13:50:20 +08:00
    @jaween 想要 hash 的内容或者数据
    Rrrrrr
        11
    Rrrrrr  
       2023-02-01 14:01:09 +08:00
    A hash based only on the content of the final generated chunk, including transformations in renderChunk and any referenced file hashes.

    它是根据生成后的 chunk 来的,所以都会变,没毛病
    jaween
        12
    jaween  
    OP
       2023-02-01 15:05:57 +08:00
    @Rrrrrr 我看到 rollup3 有关于 hash 算法的修改,但是正如这个 issue 所说,没有啥变化
    https://github.com/vitejs/vite/issues/6773
    aikilan
        13
    aikilan  
       2023-02-02 09:06:34 +08:00
    文件内容没改过,修改 hash 的需求场景是啥?。。。
    jaween
        14
    jaween  
    OP
       2023-02-02 17:22:04 +08:00
    @aikilan 内容有修改,现在 vite 打包后是全 hash 都变了,并不是只有改动的文件的 hash 变
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3152 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:50 · PVG 21:50 · LAX 05:50 · JFK 08:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.