Files
boursecu_landing/nuxt.config.ts
T

101 lines
2.4 KiB
TypeScript
Raw Normal View History

import { createRequire } from 'node:module'
import { fileURLToPath } from 'node:url'
import { resolve } from 'node:path'
import { defineNuxtConfig } from 'nuxt/config'
const srcDir = fileURLToPath(new URL('./src', import.meta.url))
const require = createRequire(import.meta.url)
/** Vite در SSR به‌اشتباه browser entry را می‌گیرد و به window.FormData می‌زند */
const formDataNodeEntry = require.resolve('form-data')
export default defineNuxtConfig({
compatibilityDate: '2024-11-01',
srcDir: 'src/',
ssr: true,
app: {
baseURL: '/landing/',
head: {
htmlAttrs: {
lang: 'fa',
dir: 'rtl',
},
meta: [
{ charset: 'utf-8' },
{ name: 'enamad', content: '44889195' },
{
name: 'viewport',
content:
'width=device-width, initial-scale=1.0, viewport-fit=cover, interactive-widget=resizes-content',
},
{ name: 'apple-mobile-web-app-capable', content: 'yes' },
{ name: 'apple-mobile-web-app-status-bar-style', content: 'black-translucent' },
],
link: [
{ rel: 'icon', type: 'image/png', href: '/landing/favicon.png' },
{ rel: 'shortcut icon', type: 'image/png', href: '/landing/favicon.png' },
{ rel: 'apple-touch-icon', href: '/landing/favicon.png' },
],
},
},
runtimeConfig: {
public: {
loginAppUrl:
process.env.NUXT_PUBLIC_LOGIN_APP_URL ||
process.env.VITE_LOGIN_APP_URL ||
'https://app.boursemes.com/home',
},
},
css: [
'@/assets/css/landing-entry.less',
'@unocss/reset/tailwind-compat.css',
],
modules: ['@pinia/nuxt', '@unocss/nuxt'],
vite: {
resolve: {
alias: {
'form-data': formDataNodeEntry,
},
},
ssr: {
external: ['form-data'],
resolve: {
conditions: ['node', 'import', 'module', 'default'],
externalConditions: ['node', 'import', 'module', 'default'],
},
},
css: {
preprocessorOptions: {
less: {
modifyVars: {
hack: `; @import (reference) "${resolve(srcDir, 'assets/css/var.less').replace(/\\/g, '/')}";`,
},
javascriptEnabled: true,
},
},
},
},
typescript: {
typeCheck: false,
strict: false,
},
nitro: {
compressPublicAssets: true,
},
experimental: {
payloadExtraction: false,
},
devServer: {
host: '0.0.0.0',
port: 3200,
},
})