Files
front-pc/nuxt.config.ts

142 lines
4.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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,
}
}
}
})