Refactor code structure and remove redundant changes

This commit is contained in:
wangqiao
2025-08-15 16:45:15 +08:00
commit 99df1d1f81
220 changed files with 33086 additions and 0 deletions

142
nuxt.config.ts Normal file
View File

@ -0,0 +1,142 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
devServer: {
port: 8888,
host: '0.0.0.0'
},
devtools: {
enabled: process.env.NODE_ENV === 'development'
},
ssr: true,
modules: ['@unocss/nuxt', '@pinia/nuxt','@element-plus/nuxt'],
css: ['@unocss/reset/tailwind.css', 'element-plus/dist/index.css'],
vite: {
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "~/assets/scss/variables.scss" as *; @use "~/assets/scss/mixins.scss" as *;`,
},
},
postcss: {
plugins: [
// postCssPxToRem({
// rootValue: 16, // 结果为:设计稿元素尺寸/16比如元素宽320px,最终页面会换算成 20rem
// mediaQuery: false, //布尔值允许在媒体查询中转换px。
// // exclude: /node_modules/, //node_modules目录下样式全部不转义
// propList: ['*'] //需要做转化处理的属性如`hight`、`width`、`margin`等,`*`表示全部
// })
],
},
},
optimizeDeps: {
include: ['naive-ui']
},
// 生产环境构建优化
build: {
// 生产环境移除 console 和 debugger
minify: 'esbuild',
target: 'es2020'
},
esbuild: {
// 生产环境下移除所有 console 语句和 debugger
drop: process.env.NODE_ENV === 'production' ? ['console', 'debugger'] : []
}
},
// 页面过渡配置
app: {
pageTransition: {
name: 'page',
mode: 'out-in',
duration: 400
},
layoutTransition: {
name: 'layout',
mode: 'out-in',
duration: 400
},
head: {
title: 'xlCig - 专业PC硬件产品和装机服务',
htmlAttrs: {
lang: 'en',
},
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ name: 'description', content: '专业的PC硬件产品和装机建议助您打造梦想中的高性能电脑' },
{ name: 'keywords', content: 'xlCig,PC硬件,电脑配置,显卡,CPU,装机' },
{ name: 'author', content: 'xlCig' },
// 百度站点验证
{ name: 'baidu-site-verification', content: 'codeva-2z90c1PlRw' },
// SEO meta tags
{ property: 'og:title', content: 'xlCig - 专业PC硬件产品和装机服务' },
{ property: 'og:description', content: '专业的PC硬件产品和装机建议助您打造梦想中的高性能电脑' },
{ property: 'og:type', content: 'website' },
{ property: 'og:url', content: 'https://www.xlcig.cn' },
{ property: 'og:site_name', content: 'xlCig' },
{ name: 'theme-color', content: '#00f5ff' },
// robots meta
{ name: 'robots', content: 'index, follow' }
],
link: [
{ rel: 'icon', type: 'image/png', href: '/logo.png' },
{ rel: 'apple-touch-icon', sizes: '180x180', href: '/logo.png' },
{ rel: 'icon', type: 'image/png', sizes: '32x32', href: '/logo.png' },
{ rel: 'icon', type: 'image/png', sizes: '16x16', href: '/logo.png' }
]
}
},
runtimeConfig: {
public: {
// API 基础地址
apiBase: process.env.NUXT_PUBLIC_API_BASE || (
process.env.NODE_ENV === 'production'
? 'https://api.xlcig.cn' // 生产环境
: 'http://192.168.11.194:9999' // 开发环境
),
// WebSocket 地址
wsUrl: process.env.NUXT_PUBLIC_WS_URL || (
process.env.NODE_ENV === 'production'
? 'wss://api.xlcig.cn/websocket' // 生产环境使用wss
: 'ws://192.168.11.194:9999/websocket' // 开发环境使用ws
),
// 应用信息
appName: process.env.NUXT_PUBLIC_APP_NAME || 'xlCig',
appVersion: process.env.NUXT_PUBLIC_APP_VERSION || '1.0.0',
// 调试模式
debug: process.env.NUXT_PUBLIC_DEBUG === 'true' || process.env.NODE_ENV === 'development',
// 环境标识
environment: process.env.NODE_ENV || 'development'
}
},
build: {
transpile: ['naive-ui', 'vueuc', '@css-render/vue3-ssr']
},
// 优化SSR性能和开发代理
nitro: {
compressPublicAssets: true,
// 开发环境代理配置
devProxy: {
'/api': {
target: 'http://192.168.11.194:9999/api',
changeOrigin: true,
prependPath: true,
},
'/websocket': {
target: 'ws://192.168.11.194:9999',
ws: true,
changeOrigin: true,
}
}
}
})