mirror of
https://github.com/sinanyuntu/trade-message-center.git
synced 2026-09-17 13:22:11 +08:00
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
// 配置扩展页面的 Vite 构建入口与产物
|
|
|
|
import { randomBytes } from "node:crypto";
|
|
import { resolve } from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import { defineConfig } from "vite";
|
|
|
|
const configDir = fileURLToPath(new URL(".", import.meta.url));
|
|
const buildHash = process.env.BUILD_HASH || randomBytes(8).toString("hex");
|
|
|
|
export default defineConfig({
|
|
root: configDir,
|
|
publicDir: resolve(configDir, "public"),
|
|
plugins: [
|
|
{
|
|
name: "build-hash",
|
|
closeBundle() {
|
|
console.info(`Build hash: ${buildHash}`);
|
|
},
|
|
},
|
|
],
|
|
build: {
|
|
outDir: resolve(configDir, "dist"),
|
|
emptyOutDir: true,
|
|
rollupOptions: {
|
|
input: {
|
|
"popup/popup": resolve(configDir, "popup/popup.html"),
|
|
"onetalk/main-page/page-script": resolve(
|
|
configDir,
|
|
"src/onetalk/main-page/page-script-entry.ts",
|
|
),
|
|
},
|
|
output: {
|
|
banner: (chunk) =>
|
|
chunk.isEntry ? `console.info("Build hash: ${buildHash}");` : "",
|
|
entryFileNames: "[name].js",
|
|
chunkFileNames: "chunks/[name]-[hash].js",
|
|
assetFileNames: "assets/[name]-[hash][extname]",
|
|
},
|
|
},
|
|
},
|
|
});
|