我遇到了 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 }
}
这应该按预期工作
关于javascript - Process.env.PORT 与硬编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59265552/