diff --git a/nuxt.config.js b/nuxt.config.js deleted file mode 100644 index e144652..0000000 --- a/nuxt.config.js +++ /dev/null @@ -1,135 +0,0 @@ -import dotenv from 'dotenv' -import process from 'node:process' -import { currentLocales } from './i18n/i18n' -const envFile = process.env.ENV_FILE || '.env.test' -dotenv.config({ path: `./env/${envFile}` }) -const publicConfig = Object.entries(process.env) - .filter(([key]) => key.startsWith('NUXT_PUBLIC_')) - .reduce((config, [key, value]) => { - config[key] = value - return config - }, {}) - -export default defineNuxtConfig({ - modules: [ - '@vant/nuxt', - '@unocss/nuxt', - '@nuxtjs/i18n', - ], - image: { - provider: 'ipx', - format: ['webp'], - quality: 80, - }, - runtimeConfig: { - // 私有配置,只有在服务端可用 - apiSecret: process.env.NUXT_API_SECRET, - // 公共配置,客户端和服务端都可用 - public: publicConfig, - }, - css: [ - '@unocss/reset/tailwind.css', - '@/static/styles/default-theme.css', - ], - - postcss: { - plugins: { - 'autoprefixer': {}, - 'postcss-px-to-viewport': { - viewportWidth: 375, // 设计稿宽度 - viewportUnit: 'vmin', // 关键配置 - fontViewportUnit: 'vmin', // 字体单位 - unitPrecision: 5, - propList: ['*'], - selectorBlackList: [], - minPixelValue: 1, - mediaQuery: false, - exclude: /@nuxt/ - } - }, - }, - i18n: { - locales: currentLocales, - lazy: true, - strategy: 'no_prefix', - detectBrowserLanguage: { - useCookie: false, - cookieKey: 'i18n_redirected', - redirectOn: 'root', - alwaysRedirect: true, - }, - defaultLocale: 'zh-CN', - vueI18n: './i18n/i18n.config.ts', - }, - - app: { - layoutTransition: { - name: 'layout', - mode: 'out-in' - }, - head: { - viewport: 'width=device-width,initial-scale=1,viewport-fit=cover', - link: [ - { rel: 'icon', href: '/favicon.ico', sizes: 'any' }, - ], - meta: [ - { name: 'viewport', content: 'width=device-width, initial-scale=1, viewport-fit=cover,user-scalable=no' }, - { name: 'apple-mobile-web-app-capable', content: 'yes' }, - { name: 'apple-mobile-web-app-status-bar-style', content: 'black-translucent' }, - { name: 'theme-color', media: '(prefers-color-scheme: light)', content: '#ffffff' }, - { name: 'theme-color', media: '(prefers-color-scheme: dark)', content: '#222222' }, - ], - }, - }, - nitro: { - externals: { - inline: ['tslib'] // 将 tslib 内联到构建中 - } - }, - - build: { - transpile: ['tslib'] // 确保 tslib 被正确转译 - }, - vite: { - build: { - target: 'esnext', - }, - optimizeDeps: { - include: [ - '@intlify/core-base', - '@intlify/shared', - 'is-https', - ], - }, - }, - - experimental: { - typedPages: true, - }, - - devtools: { - vscode: { - // 配置为 cursor 编辑器 - editor: 'cursor' - } - }, - - typescript: { - shim: false, - }, - - features: { - // For UnoCSS - inlineStyles: false, - }, - - future: { - compatibilityVersion: 4, - }, - // 指定 Nuxt 应用程序的兼容性日期,确保应用程序在未来的 Nuxt 版本中保持稳定性 - compatibilityDate: '2025-01-09', - devServer: { - host: '0.0.0.0', // Set the host to 'localhost' - port: 3000, // Set the port to 3000 or any other port you prefer - }, -}) \ No newline at end of file