我将 Rollup 与Vite和vite-plugin-ssr一起使用。
它使用标准配置生成的生产版本包含大量小文件,例如
dist/client/assets/chunk-adbd3755.js 0.69 KiB / gzip: 0.43 KiB
dist/client/assets/chunk-adbd3755.js.map 0.10 KiB
dist/client/assets/chunk-d703547b.js 2.35 KiB / gzip: 1.15 KiB
dist/client/assets/chunk-d703547b.js.map 7.79 KiB
dist/client/assets/chunk-860778e7.js 0.95 KiB / gzip: 0.51 KiB
dist/client/assets/chunk-860778e7.js.map 3.26 KiB
dist/client/assets/chunk-90693398.js 2.37 KiB / gzip: 0.94 KiB
dist/client/assets/chunk-90693398.js.map 10.18 KiB
dist/client/assets/chunk-a3b7c495.js 2.21 KiB / gzip: 1.04 KiB
dist/client/assets/chunk-a3b7c495.js.map 5.33 KiB
dist/client/assets/chunk-d321b675.js 0.67 KiB / gzip: 0.46 KiB
dist/client/assets/chunk-d321b675.js.map 4.34 KiB
dist/client/assets/chunk-c5fff223.js 0.36 KiB / gzip: 0.23 KiB
dist/client/assets/chunk-c5fff223.js.map 1.17 KiB
dist/client/assets/chunk-93f6d1e0.js 2.42 KiB / gzip: 0.93 KiB
dist/client/assets/chunk-93f6d1e0.js.map 6.81 KiB
dist/client/assets/chunk-84638231.js 0.90 KiB / gzip: 0.52 KiB
dist/client/assets/chunk-84638231.js.map 2.43 KiB
dist/client/assets/chunk-7b2a7fc5.js 16.33 KiB / gzip: 3.33 KiB
Run Code Online (Sandbox Code Playgroud)
我假设这是由 Rollup 配置决定的,我想强制 Rollup 目标生成大小至少为 5KiB 的块,即如果有多个小块,则应将它们放在同一个文件中。
我怎么做?
同时,有一些非常大的块将受益于代码分割:
dist/client/assets/chunk-79a47c16.js 233.29 KiB / gzip: 65.45 KiB
dist/client/assets/chunk-79a47c16.js.map 1090.09 KiB
dist/client/assets/chunk-338b0152.js 295.43 KiB / gzip: 64.69 KiB
dist/client/assets/chunk-338b0152.js.map 726.44 KiB
dist/client/assets/chunk-4bad2a7c.js 850.46 KiB / gzip: 175.06 KiB
dist/client/assets/chunk-4bad2a7c.js.map 1842.03 KiB
dist/client/assets/chunk-00222315.js 1220.59 KiB / gzip: 341.05 KiB
dist/client/assets/chunk-00222315.js.map 3558.01 KiB
dist/client/assets/chunk-41093922.js 1387.07 KiB / gzip: 364.90 KiB
dist/client/assets/chunk-41093922.js.map 5215.41 KiB
Run Code Online (Sandbox Code Playgroud)
同样的问题,但相反:如何将它们分割成更小的文件?
截至撰写本文时,您可以配置build.rollupOptions
并传递output.experimentalMinChunkSize
给汇总。请注意,大小以字节为单位,而不是通常情况下的 KB 或 MB。
在我的本地测试中,我还没有看到这一点得到尊重:
// vite.config.ts
import { defineConfig } from 'vite';
export default defineConfig({
build: {
rollupOptions: {
output: {
experimentalMinChunkSize: 500_000,
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2805 次 |
最近记录: |