import { defineConfig } from 'vite'; import webExtension from 'vite-plugin-web-extension'; import { SCRIPT_FILES } from './src/utils/constants.js'; import path from 'path'; const isDev = process.env.NODE_ENV === 'development'; export default defineConfig({ resolve: { alias: { '@': path.resolve(__dirname, 'src'), }, }, plugins: [ webExtension({ // 这个项目中所有需要注入的脚本都需要在这里指定,因为它们不会自动被插件检测到 // manifest.json 没有指定 content_scripts,所有脚本都通过编程注入 additionalInputs: SCRIPT_FILES, }), ], build: { outDir: 'dist', // 输出目录 // Chrome扩展不支持source maps,直接禁用以减小包体积 sourcemap: false, // 开发模式禁用压缩便于调试,生产模式启用压缩优化体积 minify: !isDev, cssMinify: !isDev, rollupOptions: !isDev ? undefined : { output: { // 开发模式下不压缩文件名,便于调试 chunkFileNames: 'src/[name].js', entryFileNames: 'src/[name].js', assetFileNames: 'src/[name].[ext]', compact: false, // 禁用代码压缩 }, }, }, });