[英]Process.env.PORT vs hardcoded
我有一個似乎無法解決的 process.env.PORT 問題。
我有這個代碼,它不起作用,因為我收到錯誤“URI 格式錯誤”。
async asyncData({ params }) {
let baseUrl = ''
if (process.env.NODE_ENV === 'production') {
baseUrl = 'https://url.com'
} else {
baseUrl = 'http://localhost:' + process.env.PORT || 3000
}
const response = await axios.get(`${baseUrl}/api/v1/products?popular=true&limit=6`)
const data = response . data
return { popularProducts: data.results }
}
但是,如果我使用它,則效果很好。
async asyncData({ params }) {
let baseUrl = ''
if (process.env.NODE_ENV === 'production') {
baseUrl = 'https://url.dk'
} else {
baseUrl = 'http://localhost:' + 3001
}
const response = await axios.get(`${baseUrl}/api/v1/products?popular=true&limit=6`)
const data = response.data
return { popularProducts: data.results }
}
在 package.json 我設置了以下內容
"dev": "cross-env NODE_ENV=development PORT=3001 nodemon server/index.js --watch server --fix",
為什么這對我不起作用?
轉換這個
async asyncData({ params }) {
let baseUrl = ''
if (process.env.NODE_ENV === 'production') {
baseUrl = 'https://url.com'
} else {
baseUrl = 'http://localhost:' + process.env.PORT || 3000
}
const response = await axios.get(`${baseUrl}/api/v1/products?popular=true&limit=6`)
const data = response . data
return { popularProducts: data.results }
}
到
async asyncData({ params }) {
let port = process.env.PORT || 3000;
let baseUrl = 'http://localhost:' + port;
if (process.env.NODE_ENV === 'production') {
baseUrl = 'https://url.com';
}
const response = await axios.get(`${baseUrl}/api/v1/products?popular=true&limit=6`)
const data = response . data
return { popularProducts: data.results }
}
這應該按預期工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.