Files
MrleeAdmin/nuxt.config.ts
T

100 lines
1.8 KiB
TypeScript

// https://v3.nuxtjs.org/docs/directory-structure/nuxt.config
import path from 'path'
export default defineNuxtConfig({
modules: [
'@nuxt/eslint',
'@vueuse/nuxt',
'@unocss/nuxt',
'@pinia/nuxt',
'@element-plus/nuxt',
'nuxt-icons',
'pinia-plugin-persistedstate/nuxt'
],
devtools: {
enabled: true,
},
app: {
baseURL: '/',
head: {
htmlAttrs: {
lang: 'zh-cn'
}
}
},
// css
css: [
'~/assets/css/uno-reset.css',
'~/assets/scss/index.scss'
],
// vueuse
vueuse: {
ssrHandlers: true,
},
future: {
compatibilityVersion: 4,
},
experimental: {
// when using generate, payload js assets included in sw precache manifest
// but missing on offline, disabling extraction it until fixed
payloadExtraction: false,
renderJsonPayloads: true,
typedPages: true,
},
compatibilityDate: '2024-08-14',
nitro: {
esbuild: {
options: {
target: 'esnext',
},
},
prerender: {
crawlLinks: false,
routes: ['/'],
ignore: ['/hi'],
},
},
vite: {
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "@/assets/scss/element/index.scss" as element;`
},
},
},
server: {
proxy: {
"/api": {
target: "http://127.0.0.1:8001",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, "/api"),
},
"/upload": {
target: "http://127.0.0.1:8001",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/upload/, "/upload"),
},
},
},
optimizeDeps: {
include: ['@wangeditor/editor', '@wangeditor/editor-for-vue'],
},
},
elementPlus: {
icon: 'ElIcon',
importStyle: 'scss',
themes: ['dark'],
},
ssr: false,
})