eCourt-Doc-Edit/web/nuxt.config.ts

62 lines
3.3 KiB
TypeScript
Raw Normal View History

2026-08-18 12:52:40 +07:00
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
compatibilityDate: '2025-07-15',
devtools: { enabled: true },
// ⚠️ Web portal ต้องใช้ port 5173 เท่านั้น — ห้ามใช้ 3000
// (3000 ถูก add-in dev server ใช้อยู่: https://localhost:3000)
devServer: {
port: 5173,
},
modules: ['@nuxtjs/tailwindcss'],
2026-08-20 21:34:45 +07:00
// ต้องระบุ cssPath ชัด (alias ~/ ชี้ srcDir = app/) — default แบบ relative
// "assets/css/tailwind.css" จะ resolve ต่อ rootDir แล้ว fallback ไปไฟล์ default
// ของ tailwindcss package แบบเงียบๆ (token/component classes ทั้งหมดหายจาก build)
tailwindcss: {
cssPath: '~/assets/css/tailwind.css',
},
2026-08-20 06:20:16 +07:00
// config ทั้งหมดแยกเป็น env ได้ (กติกา: ห้าม hardcode) — override ด้วย env
// NUXT_PUBLIC_API_BASE_URL / NUXT_PUBLIC_KEYCLOAK_AUTHORITY / NUXT_PUBLIC_KEYCLOAK_CLIENT_ID
runtimeConfig: {
public: {
// เว็บเป็น top-level http page → เรียก backend ด้วย http ได้ (ไม่มีปัญหา mixed content แบบ task pane)
apiBaseUrl: 'http://localhost:5075',
// Keycloak dev ใช้ https:8443 (cert ของ office-addin-dev-certs — เชื่อถือได้ในเครื่อง)
keycloakAuthority: 'https://localhost:8443/realms/word-versioning',
keycloakClientId: 'word-versioning-web',
// ยิง ms-word:ofe ควบคู่กับการดาวน์โหลดหรือไม่ — '' / 'on' = ยิงทุกแพลตฟอร์ม (open-link แบบใหม่ https+ไม่มี query+จบ .docx
// ยืนยันแล้วว่าเปิดได้จริงแม้ Word 16.101+ บน Mac — v9.2.1), 'off' = ดาวน์โหลดอย่างเดียว
openInWord: '',
2026-08-20 06:20:16 +07:00
},
},
2026-08-18 12:52:40 +07:00
// ~/assets/css/tailwind.css ถูก @nuxtjs/tailwindcss pick up อัตโนมัติ
app: {
head: {
title: 'Word Versioning',
2026-08-20 21:34:45 +07:00
htmlAttrs: { lang: 'th' },
// ฟอนต์ไทย: Sarabun (ใกล้ Sukhumvit ที่สุดบน Google Fonts) — ต้องมี 500/600 ด้วย
// เพราะ UI ใช้ font-medium/font-semibold หนัก (โหลดแค่ 400/700 จะเกิด faux-bold)
link: [
{ rel: 'preconnect', href: 'https://fonts.googleapis.com' },
{ rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' },
{
rel: 'stylesheet',
href: 'https://fonts.googleapis.com/css2?family=Sarabun:wght@400;500;600;700&display=swap',
},
],
2026-08-18 12:52:40 +07:00
// กัน dark-mode flash (FOUC) ก่อน Vue hydrate — ต้องใช้คีย์/ค่าเดียวกับ useTheme.ts
script: [
{
innerHTML:
"(function(){try{var t=localStorage.getItem('theme-preference');if(!t){t=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';}if(t==='dark'){document.documentElement.classList.add('dark');}}catch(e){}})();",
},
],
},
},
})