CloudSphere/nuxt.config.ts

71 lines
1.7 KiB
TypeScript
Raw Permalink Normal View History

2025-09-11 13:36:35 +08:00
export default defineNuxtConfig({
compatibilityDate: '2025-09-05',
devtools: { enabled: true },
modules: [
'@nuxtjs/tailwindcss',
'@nuxt/content',
'@nuxtjs/i18n',
'@nuxtjs/seo'
],
site: {
url: 'http://clueflare.com',
name: 'ClueFlare',
description: 'Professional Cloud Service Proxy Platform',
defaultLocale: 'en'
},
i18n: {
locales: [
{ code: 'en', language: 'en-US', name: 'English', file: 'en.json' },
{ code: 'zh-hans', language: 'zh-CN', name: '简体中文', file: 'zh-hans.json' },
{ code: 'zh-hant', language: 'zh-TW', name: '繁體中文', file: 'zh-hant.json' }
],
langDir: 'locales/',
defaultLocale: 'en',
strategy: 'prefix',
detectBrowserLanguage: {
useCookie: true,
cookieKey: 'i18n_redirected',
redirectOn: 'root'
},
vueI18n: './i18n.config.ts'
},
content: {
// 移除 locales 配置,让 Content 模块自动检测
},
experimental: {
scanPageMeta: false // 关闭静态属性预扫描
},
nitro: {
prerender: {
routes: ['/sitemap.xml', '/robots.txt']
}
},
css: ['~/assets/css/main.css'],
vite: {
server: {
hmr: {
overlay: false
}
}
},
app: {
head: {
charset: 'utf-8',
viewport: 'width=device-width, initial-scale=1',
link: [
{ rel: 'icon', type: 'image/svg+xml', href: '/favicon.svg' },
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
{ rel: 'apple-touch-icon', href: '/favicon.svg' }
],
script: [
{
id: 'chatway',
src: 'https://cdn.chatway.app/widget.js?id=FgIgGSxRD2i8',
async: true
}
]
}
}
})