在vite+vue3+ts中配置环境变量、规范的编码风格和构建生产环境的代码。
// vite.config.ts
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';
// 加载环境变量
const env = process.env.NODE_ENV;
// ESLint 配置
const eslintConfig = {
lintOnSave: true,
// 根据环境变量确定是否使用
fix: env !== 'production',
};
// 配置Rollup输出时去掉生产环境的警告
const rollupOutputOptions = {
onwarn: (warning, rollupWarn) => {
if (warning.code !== 'CIRCULAR_DEPENDENCY') {
rollupWarn(warning);
}
},
};
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
build: {
target: 'esnext',
outDir: 'dist',
assetsDir: 'assets',
rollupOptions: {
output: rollupOutputOptions,
},
// 为生产环境配置Terser插件
...(env === 'production' && {
minify: 'terser',
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true,
},
},
}),
},
esbuild: {
jsxFactory: 'h',
jsxFragment: 'Fragment',
// 在生产环境禁用ESLint
...(env === 'production' && {
jsxInject: `import { h } from 'vue'`,
}),
},
// 配置ESLint插件
eslint: eslintConfig,
});
这段代码展示了如何在Vite项目中配置环境变量、ESLint和Rollup的输出选项,以及如何根据不同的环境变量来调整构建配置。在生产环境中,它会启用代码压缩,并关闭ESLint的自动修复功能。
评论已关闭