首页 > 解决方案 > Nodejs - url 参数必须是字符串,不能是未定义的

问题描述

每次我导航到相对路径时,我都会收到以下错误:

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')}`
    }
};

我肯定添加了带有 FIXIE_URL 的 .env 文件,那它可能是什么?

标签: node.jsexpress

解决方案


尝试req.url代替process.env.FIXIE_URL

更新

最好把这些分开。

.env文件集中,并在以下位置使用这些url.js

FIXIE_URL_HOST=someUrl
FIXIE_URL_PORT=80

推荐阅读