所以我遇到了一個問題,我正在嘗試取得我的私有環境變數。我知道只有在我的頁面是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