所以我遇到了一個問題,我正在嘗試取得我的私有環境變數。我知道只有在我的頁面是ssr時才能獲取它們。問題是我從來沒有禁用過它。我在我的頁面中記錄了console.log(process.server)
,它總是回傳false
。我覺得這很奇怪,因為我從來沒有禁用過ssr。
這是我的nuxt.config.ts:
// https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({ ssr: true, routeRules: { '/portal/**': { ssr: false }, '/checkout/**': { ssr: false } }, runtimeConfig: { stripeKey: '', public: { API_BASE_URL: process.env.API_BASE_URL || "http://192.168.1.100:8000/api", } }, modules: [ '@nuxtjs/i18n', '@pinia/nuxt', ], css: [ '@/assets/css/main.css', '@/assets/css/colors.scss', 'vuetify/lib/styles/main.sass', 'primevue/resources/themes/lara-light-blue/theme.css', 'primevue/resources/primevue.css', 'primeicons/primeicons.css', '@fortawesome/fontawesome-svg-core/styles.css' ], build: { transpile: [ 'primevue', 'vuetify' ] }, postcss: { plugins: { tailwindcss: {}, autoprefixer: {}, }, }, app: { head: { script: [{ src: "https://js.stripe.com/v3/" }], title: '', meta: [ { name: 'color-scheme', content: 'only light' } ], link: [ { href: 'https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined', rel: 'stylesheet', } ] } }, i18n: { lazy: true, langDir: "locales", strategy: "no_prefix", locales: [ { code: 'en', iso: 'en', name: 'English', file: 'en.json' }, { code: 'nl-Nl', iso: 'nl-NL', name: 'Dutch', file: 'nl-NL.json' } ] } })
在您的瀏覽器中(也稱為「客戶端」),
console.log(process.server)
將始終記錄false
。 請查看您終端機中的伺服器控制台。在那裡,除非您在“僅限客戶端”組件/插件中或在像onMounted
這樣的生命週期鉤子中進行日誌記錄,否則它也應該被記錄為true