Skip to content

快速开始

ts
import { defineConfig } from "vite";

import { buildInfo, bundleBudget, compression, envGuard, subresourceIntegrity } from "fast-vite-plugins";

export default defineConfig({
	plugins: [
		envGuard({
			schema: {
				VITE_API_URL: { pattern: /^https:\/\// },
			},
		}),
		buildInfo(),
		subresourceIntegrity({ manifest: true }),
		bundleBudget({
			budgets: [
				{ name: "入口 JS", filter: /\.js$/, limit: 250 * 1024 },
				{ name: "全部 CSS(gzip)", filter: /\.css$/, limit: 50 * 1024, mode: "gzip", scope: "total" },
			],
		}),
		compression({
			algorithms: ["gzip", "brotli"],
			threshold: 10 * 1024,
		}),
	],
});

每个插件都需要独立导入和配置,库不会隐式启用任何能力:

ts
import { buildInfo, htmlTemplate } from "fast-vite-plugins";

export default defineConfig({
	plugins: [htmlTemplate({ data: { APP_TITLE: "Fast Admin" }, strict: true }), buildInfo({ fileName: "meta/build-info.json" })],
});