在 h5端, 除了 chunkFileNames , 你的 配置 应该都生效吧?
你可以 看下 源码, uniapp也是 基于 vite插件 来 做的
你可以 通过 "build:h5": "uni build --debug",
看看 uni都用了什么 插件
vite:esbuild init tsconfck end +0ms
vite:config using resolved config: {
vite:config plugins: [
vite:config 'uni:pre',
vite:config 'vite:build-metadata',
vite:config 'vite:pre-alias',
vite:config 'alias',
vite:config 'uni:automator',
vite:config 'uni:cloud',
vite:config 'uni:cloud-vf',
vite:config 'uni:push',
vite:config 'uni:stat',
vite:config 'uni:css-scoped',
vite:config 'uni:h5-resolve-id',
vite:config 'uni:h5-main-js',
vite:config 'uni:h5-manifest-json',
vite:config 'uni:h5-pages-json',
vite:config 'uni:h5-css',
vite:config 'vite:modulepreload-polyfill',
vite:config 'uni:resolve-id',
vite:config 'vite:resolve',
vite:config 'vite:html-inline-proxy',
vite:config 'vite:css',
vite:config 'uni:pre-css',
vite:config 'vite:esbuild',
vite:config 'uni:json',
vite:config 'vite:json',
vite:config 'vite:wasm-helper',
vite:config 'vite:worker',
vite:config 'uni:static',
vite:config 'vite:asset',
vite:config 'uni:pre-vue',
vite:config 'vite:vue',
vite:config 'uni:ssr',
vite:config 'uni',
vite:config 'uni:cloud',
vite:config 'uni:h5-easycom',
vite:config 'uni:h5-ssr',
vite:config 'uni:setup',
vite:config 'uni:h5-renderjs',
vite:config 'uni:h5',
vite:config 'uni:copy',
vite:config 'vite:wasm-fallback',
vite:config 'vite:define',
vite:config 'vite:css-post',
vite:config 'vite:build-html',
vite:config 'vite:worker-import-meta-url',
vite:config 'vite:asset-import-meta-url',
vite:config 'vite:force-systemjs-wrap-complete',
vite:config 'vite:watch-package-data',
vite:config 'commonjs',
vite:config 'vite:data-uri',
vite:config 'vite:dynamic-import-vars',
vite:config 'vite:import-glob',
vite:config 'uni:cloud-inject',
vite:config 'uni:h5-inject',
vite:config 'vite:build-import-analysis',
vite:config 'vite:esbuild-transpile',
vite:config 'vite:terser',
vite:config 'vite:reporter',
vite:config 'vite:load-fallback'
vite:config ]
关键插件 是 uni:h5
你 搜索一下 node_modules
function uniH5Plugin() {
const configOptions = {
resolvedConfig: null,
};
rewriteReadFileSync();
return {
name: 'uni:h5',
uni: (0, uni_1.createUni)(),
config: (0, config_1.createConfig)(configOptions),
configResolved(config) {
configOptions.resolvedConfig = config;
},
configureServer: (0, configureServer_1.createConfigureServer)(),
handleHotUpdate: (0, handleHotUpdate_1.createHandleHotUpdate)(),
transformIndexHtml: (0, transformIndexHtml_1.createTransformIndexHtml)(),
};
}
看见 config: (0, config_1.createConfig)(configOptions),
了吧, 这个 函数 就是 原因了, 里面有 build.rollupOptions.output.chunkFileNames
把你的 覆盖了
5 个回复
3***@qq.com
在 h5端, 除了 chunkFileNames , 你的 配置 应该都生效吧?
你可以 看下 源码, uniapp也是 基于 vite插件 来 做的
你可以 通过
"build:h5": "uni build --debug",
看看 uni都用了什么 插件关键插件 是
uni:h5
你 搜索一下
node_modules
看见
config: (0, config_1.createConfig)(configOptions),
了吧, 这个 函数 就是 原因了, 里面有build.rollupOptions.output.chunkFileNames
把你的 覆盖了lilang
解决了吗大佬
2***@qq.com
注意chunkFileNames方法上边的注释说明。
蚊子不会滑雪
楼主是要解决打包hash变化的问题吗
2***@qq.com
将hash改为时间戳就行了。
2024-08-16 16:51
4***@qq.com
这边有完美
刚刚解决的 参考原文章