shu*_*ham 5 javascript rollup bundler single-page-application vite
我在一个react项目中使用Vite。
版本 -
"react": "^18.2.0",
"react-dom": "^18.2.0",
"vite": "^3.0.0",
"@vitejs/plugin-react": "^2.0.0",
Run Code Online (Sandbox Code Playgroud)
这是我的vite.config.js
import {defineConfig} from 'vite';
import react from '@vitejs/plugin-react';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
build: {
outDir: 'build',
},
});
Run Code Online (Sandbox Code Playgroud)
这是我的package.json脚本 -
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"prettier": "prettier src -check",
"prepare": "husky install"
},
Run Code Online (Sandbox Code Playgroud)
当我这样做npm run preview并在浏览器中打开一个网站时,我得到了 size 的包301KB。但是当我这样做时npm run build,它给了我捆绑包的大小986KB!如果vite preview打算在生产中预览网站,为什么vite build在构建时不给我相同大小的捆绑包?
当我构建时,它显示以下消息 -
另外, 的含义是什么986.76 KiB / gzip: 292.94 KiB?
正如 @tony19 所指出的,第一个数字是原始大小,即文件的实际大小。第二个数字是gzip压缩后的压缩大小。
当您使用 构建 vite 时npm run build,默认情况下不应用压缩。
在许多情况下,您的网络服务器将为您处理压缩,因此这不是问题。
但是,在某些情况下,您需要自己进行压缩:
在这种情况下,您可以使用vite-plugin-compression2。
为什么使用这个插件?因为 vite-plugin-compression 不再获得更新,而 vite-plugin-compression2 允许您压缩为 gzip 和 brotli(对于所有基于 chrome 的浏览器,更高效的 brotli,对于 Safari 则为 gzip):
vite.config.ts
import { defineConfig, type PluginOption } from 'vite'
import compression from 'vite-plugin-compression2';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
compression({
algorithm: 'gzip', exclude: [/\.(br)$ /, /\.(gz)$/]
}),
compression({
algorithm: 'brotliCompress', exclude: [/\.(br)$ /, /\.(gz)$/],
}),
],
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8409 次 |
| 最近记录: |