Heroku 无法在 nodejs 的 express-router 上拥有从“@”开始的路由
Posted
技术标签:
【中文标题】Heroku 无法在 nodejs 的 express-router 上拥有从“@”开始的路由【英文标题】:Heroku unable to possess routes starting from '@' at express-router in nodejs 【发布时间】:2017-07-16 04:06:48 【问题描述】:我已经将一个由 NodeJS、Express 和 MongoDB使用 Mongoose 制作的简单应用推送到 Heroku,但是我的一个路由器无法正常工作。
我制作了一个路由器起始表单 @
用于显示用户的配置文件,它在我的本地主机上运行良好,但在 Heroku 生产时让我回到错误页面。
在 Heroku 中使用 @
是错误的约定吗?有什么办法吗?
以下是截图:
在heroku的生产阶段:
在 localhost 的同一路线:
这是我的路由器配置:routes.js
:
我正在使用 PassportJs 进行用户身份验证。
app.get('/@:username', sabSettings, function(req, res)
var currentUser = req.user;
process.nextTick(function()
User.findOne( 'local.username': req.params.username , function(err, user)
var usertofind = user;
if (err)
throw err;
if (!user)
res.render('profile/p404',
title: req.params.username + ' Not Found | eduBird',
setting: req.setting,
usertofind: req.params.username,
user: currentUser ? currentUser : 'ann'
);
else
res.render('profile/display',
title: usertofind.local.name + ' Profile | eduBird',
setting: req.setting,
user: currentUser ? currentUser : 'ann',
requser: usertofind
);
);
);
);
这个系统在 localhost 上对每个用户都可以正常工作,但在 Heroku 上却不行。
您的建议/帮助将不胜感激。
【问题讨论】:
【参考方案1】:我自己解决了这个问题。
实际上这是.pug
的问题,而不是Heroku 服务器的问题。 Here 是主要错误,显示的是哪个浏览器,以及我是如何修复的。
【讨论】:
以上是关于Heroku 无法在 nodejs 的 express-router 上拥有从“@”开始的路由的主要内容,如果未能解决你的问题,请参考以下文章
Heroku:NodeJS Express 服务器无法提供图像
端口 34037 已在使用 Heroku + Nodejs + Express + WebSockets
在heroku上部署Nodejs+Express+React+Webpack应用
无法为 nodejs web3 推送到 heroku - 它正在尝试找到 web3@1.0.0-beta.42 postinstall