LtyhShop/pc/nuxt.config.ts

96 lines
2.7 KiB
TypeScript
Raw Permalink Normal View History

2025-04-09 14:59:26 +08:00
import { getEnvConfig } from './nuxt/env'
import { loadEnv } from 'vite'
const envScript = (process.env as any).npm_lifecycle_script.split(' ')
const envName = envScript[envScript.length - 1] // 通过启动命令区分环境
const envConfig = getEnvConfig()
export default defineNuxtConfig({
app: {
layoutTransition: { name: 'layout', mode: 'out-in' },
baseURL: envConfig.baseUrl,
head: {
title: '加载中...',
meta: [
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{
hid: 'description',
name: 'description',
content:
'Java商城PC商城CRMEB开源商城系统新零售社交电商小程序商城公众号商城免费商城系统源码商城系统开发开源商城系统微商城源码直播商城系统多商户商城B2B2C私域电商分销商城高性能商城系统陀螺匠OA系统',
},
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/logo.png' },
// { rel: 'stylesheet', type: 'text/css', href: '/fonts/iconfont.css' },
{ rel: 'stylesheet', type: 'text/css', href: '//at.alicdn.com/t/c/font_4138656_3e69hlfaevj.css' },
{ rel: '', type: 'text/css', href: '//at.alicdn.com/t/c/font_4138656_3e69hlfaevj.css' },
],
},
},
ssr: false,
// 开发服务器,
devServer: {
port: '192.168.31.185', //监听端口默认3000可以配置自己的ip地址
host: '0.0.0.0', //默认值localhost
},
css: ['~/assets/fonts/font.css', '~/assets/scss/index.scss', '~/assets/iconfont/iconfont.css', 'aos/dist/aos.css'],
typescript: {
strict: true,
shim: false,
},
runtimeConfig: {
public: {
...envConfig,
},
},
// build modules
modules: [
'@vueuse/nuxt',
'@unocss/nuxt',
'@pinia/nuxt',
'@element-plus/nuxt',
'@nuxtjs/color-mode',
'@fullpage/nuxt-fullpage',
// 'nuxt-swiper',
],
swiper: {
// Swiper options
//----------------------
// prefix: 'Swiper',
// styleLang: 'css',
// modules: ['navigation', 'pagination'], // all modules are imported by default
},
// vueuse
vueuse: {
ssrHandlers: true,
},
// colorMode
colorMode: {
classSuffix: '',
},
plugins: [{ src: '~/plugins/fetch' }, { src: '~/plugins/vue-swiper', ssr: false }],
unocss: {
uno: true,
attributify: true,
icons: {
scale: 1.2,
},
},
vite: {
envDir: '~/env', // 指定env文件夹
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "@/assets/scss/element/index.scss" as element;`,
},
},
},
},
elementPlus: {
icon: 'ElIcon',
importStyle: 'scss',
themes: ['dark'],
},
})