每次我导航到相对路径时,都会出现以下错误:
TypeError: Parameter "url" must be a string, not undefined
at Url.parse (url.js:103:11)
我的get方法如下:
app.get('/v1/locations', (req, res) => {
const fixieUrl = url.parse(process.env.FIXIE_URL);
const requestedUrl= url.parse('api.clashofclans.com' + req.path);
const options = {
host: fixieUrl.hostname,
port: fixieUrl.port,
path: requestedUrl.href,
method: 'GET',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer **token**',
'Proxy-Authorization': `Basic ${new Buffer(fixieUrl.auth).toString('base64')}`
}
};
我一定要在.env文件中添加FIXIE_URL,所以它是什么?
答案 0 :(得分:2)
尝试用req.url
代替process.env.FIXIE_URL
更新
最好将它们分开。
在.env
文件集中,并在url.js
中使用它们:
FIXIE_URL_HOST=someUrl
FIXIE_URL_PORT=80
答案 1 :(得分:0)
根据您的评论,因为process.env.FIXIE_URL
未定义。这意味着未设置env变量。因此,要解决此问题,您可以在启动ur node应用时执行此操作
export FIXIE_URL='yourUrl' npm start // or however you start ur node app
或将此yourUrl添加到一个常量文件中,然后从该文件中加载它。
或将export FIXIE_URL='yourUrl'
保存在您的操作系统配置文件中