142 lines
4.5 KiB
TypeScript
142 lines
4.5 KiB
TypeScript
// 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,
|
||
}
|
||
}
|
||
}
|
||
})
|