96 lines
2.7 KiB
TypeScript
96 lines
2.7 KiB
TypeScript
|
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'],
|
|||
|
},
|
|||
|
})
|