【发布时间】:2016-01-20 07:48:53
【问题描述】:
我有一个 Node.js 应用程序,我编写并通过 Bash 成功部署到 Heroku 应用程序。在我家里运行 Ubuntu 的电脑上,它在本地也能正常运行。
但是,我刚刚将存储库克隆到 Windows 机器上,虽然我已经成功地将更新推送到 Heroku 远程,但每当我从 Windows 运行 heroku local 并尝试访问本地版本(localhost :5000),该页面出现错误,我的命令行返回 TypeError: Request path contains unescaped characters 和 layer.js:95.5。
该应用使用https.get,这似乎是本地问题所在。
我不愿意尝试调整我的代码,因为它在 Heroku 本身上运行良好,并且在我的 Ubuntu 机器上运行良好——所以只能假设需要在我的 Windows 机器上进行配置。
知道可能是什么问题吗?
【问题讨论】:
-
在您的代码中,您是否获得了文件夹的绝对路径或类似的东西? Windows 的路径使用“\”而不是“/”,这可能是问题所在,或者路径中某处有空格。
layer.js:95.5的代码是什么? -
@ShanShan 感谢您的回复。 /
layer.js行看起来像是 Express 包的一部分。我认为可靠的https.get在某些 Express 路由中。我刚刚通过直接节点(而不是heroku local)运行代码并得到了同样的错误。关于 Windows 路径的观点很有趣,但它不会影响 API 调用吗? -
嗡嗡声:github.com/strongloop/express/issues/2511 你的路线是否包含任何特殊字符?或者文件夹有一个奇怪的名称? T 不这么认为,因为它适用于 ubuntu,但我仍然在问。我认为很难确定问题的根源。
-
谢谢。问题原来是别的东西,但我真的很感谢你的努力。我已经在下面发布了答案。如果您对此感兴趣并且我的回答中的任何内容都没有意义,请告诉我,我会更新。
标签: node.js git bash heroku https