81 lines
1.8 KiB
TypeScript
81 lines
1.8 KiB
TypeScript
import Components from 'unplugin-vue-components/vite';
|
|
import AutoImport from 'unplugin-auto-import/vite';
|
|
|
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
export default defineNuxtConfig({
|
|
devtools: { enabled: true },
|
|
modules: [
|
|
'@pinia/nuxt', // '@nuxtjs/robots',
|
|
'@nuxtjs/tailwindcss',
|
|
'@nuxtjs/color-mode', // '@nuxtjs/sitemap',
|
|
'@nuxt/eslint',
|
|
'@tdesign-vue-next/nuxt', // '@nuxt/content',
|
|
'@nuxt/scripts',
|
|
],
|
|
|
|
build: {
|
|
transpile: ['tdesign-vue-next'],
|
|
},
|
|
|
|
plugins: ['~/plugins/http.ts'],
|
|
|
|
tailwindcss: {
|
|
configPath: './app/tailwind.config.js',
|
|
exposeConfig: true,
|
|
viewer: true,
|
|
},
|
|
|
|
colorMode: {
|
|
preference: 'system',
|
|
dataValue: 'theme',
|
|
classSuffix: '',
|
|
},
|
|
|
|
// Sitemap module configuration: https://nuxtseo.com/site-config/getting-started/how-it-works
|
|
// site: {
|
|
// url: 'https://tdesign-vue-nuxt-starter.ataw.top', // FIXME: Your website URL
|
|
// },
|
|
|
|
nitro: {
|
|
compressPublicAssets: { brotli: true, gzip: true },
|
|
},
|
|
|
|
vite: {
|
|
vue: {
|
|
script: {
|
|
defineModel: true,
|
|
propsDestructure: true,
|
|
},
|
|
},
|
|
plugins: [
|
|
Components({
|
|
dts: 'types/components.d.ts',
|
|
resolvers: [],
|
|
}),
|
|
AutoImport({
|
|
imports: ['pinia'],
|
|
dts: 'types/auto-imports.d.ts',
|
|
dirs: ['hooks/**', 'stores', 'constants', 'utils/**', 'layouts'],
|
|
vueTemplate: true,
|
|
resolvers: [],
|
|
}),
|
|
],
|
|
server: {
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://localhost:8080', // 替换为你的 API 服务器地址
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/api/, ''),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
future: {
|
|
// 启用 Nuxt 4 功能前瞻
|
|
compatibilityVersion: 4,
|
|
},
|
|
|
|
compatibilityDate: '2024-07-19',
|
|
});
|