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 }
}

在包.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 }
}

这应该按预期工作

最新更新