CloudBridge/nuxt.config.ts

101 lines
1.9 KiB
TypeScript
Raw Normal View History

2025-09-04 18:01:27 +08:00
export default defineNuxtConfig({
compatibilityDate: '2025-09-04',
devtools: { enabled: true },
modules: [
'@nuxtjs/tailwindcss',
'@nuxtjs/i18n',
'@nuxt/content',
'@vueuse/nuxt'
],
// SSG Configuration
nitro: {
prerender: {
routes: ['/sitemap.xml']
}
},
// Multi-language configuration
i18n: {
locales: [
{
code: 'en',
language: 'en-US',
name: 'English',
file: 'en.json'
},
{
code: 'zh',
language: 'zh-CN',
name: '简体中文',
file: 'zh.json'
},
{
code: 'zh-hant',
language: 'zh-HK',
name: '繁體中文',
file: 'zh-hant.json'
}
],
defaultLocale: 'en',
langDir: 'lang',
strategy: 'prefix_except_default',
detectBrowserLanguage: {
useCookie: true,
cookieKey: 'i18n_redirected',
redirectOn: 'root'
},
compilation: {
strictMessage: false
}
},
// Content configuration
content: {
locales: ['en', 'zh', 'zh-hant'],
defaultLocale: 'en',
markdown: {
anchorLinks: false
}
},
// SEO configuration
site: {
url: 'https://cloudbridge-proxy.com',
name: 'CloudBridge Proxy',
description: 'Premium AWS cloud services proxy and management platform',
defaultLocale: 'en'
},
// Note: sitemap/robots will be provided as static files in /public
// Global CSS
css: ['~/assets/css/main.css'],
// App configuration
app: {
head: {
charset: 'utf-8',
viewport: 'width=device-width, initial-scale=1',
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
],
script: [
{
id: 'chatway',
async: true,
src: 'https://cdn.chatway.app/widget.js?id=FgIgGSxRD2i8'
}
]
}
},
// Runtime config
runtimeConfig: {
public: {
formspreeEndpoint: 'https://formspree.io/f/xkgvgzal'
}
}
})