【问题标题】:Thinkster MEAN Stack Tutorial problems with routingThinkster MEAN Stack 路由问题教程
【发布时间】:2015-07-20 08:10:00
【问题描述】:

我一直在 thinkster.io 上关注本教程:

https://thinkster.io/mean-stack-tutorial/

一切正常,直到我到达我们设置猫鼬的部分,然后我开始遇到问题。

首先在“使用猫鼬创建模式”部分中它说:

“通过将以下代码添加到我们的 app.js 文件中来连接到我们的本地 MongoDB 实例:”

但这并不清楚——“我们的”app.js 文件是什么意思——我们不再拥有我们创建的 app.js,因为我们将其重命名为 angularApp.js——唯一的 app.js 文件就是那个由 express/npm 生成,它位于 /views/ 文件夹中,并且充满了 express 配置。我亲自将代码添加到此文件中,但不确定它们是否意味着我们将其添加到 /public/javascripts/angularApp.js

其次,在“创建我们的第一条路由”部分,教程指示我们将代码添加到 routes/index.js 但同样,该文件已经填充了快速路由,教程不清楚我们是否附加此使用 /posts 的新路由文件或删除现有的快速路由并添加 /posts 路由。

无论哪种方式,结果是当我尝试通过 curl 或 postman 将第一个数据发布到 mongodb 时,它会导致 404,表明路由不起作用。

任何帮助表示感谢 - 网站上没有用于提问或故障排除的评论部分,所以我希望 stackoverflow 可以填补空白:)

【问题讨论】:

  • Angular 在客户端。想必Mongo访问是在server端。
  • 是的 MongoDB 作为服务运行 - 不确定您的意思是什么?
  • Angular 应用 js 文件是客户端应用。在客户端上运行。将 Mongo 初始化/模式代码放在那里没有任何意义。
  • 我没有将代码添加到 Angular 应用程序 js 文件中 - 正如我在原始帖子中所述,我将其添加到了 views/ 文件夹中的 app.js 文件中。我的意思是本教程对此并不清楚,因为在上一节中,我们将 app.js 的名称更改为 angularApp.js 并移动了它。
  • 是的。你还说你不知道这样做是否正确,我解决了这个问题,并解释了原因。不确定您的问题是什么。

标签: javascript node.js mongodb mean-stack


【解决方案1】:

这是我的代码:https://github.com/jakblak/thinkster_mean_app

它比原来的和评论更有条理。

【讨论】:

  • 帮助很大,谢谢。抱歉,我还不能投票给你。
  • 我现在遇到了另一个问题。我的评论没有写入数据库,而是收到 500 错误:TypeError: Cannot read property 'upvote' of undefined at D:\www\flapper-news\routes\index.js:75:16 这是index.js 中的部分: router.put('/posts/:post/cmets/:comment/upvote', function (req, res, next) { req.comment.upvote(function (err, comment) { if (err ) { return next(err); } res.json(comment); }); });
  • 我更新了文件。不确定这是否会解决您的错误。缺少视图文件夹和 user.js 文件。
  • 我注意到在您的分支中,您的 PostsCtrl 中有 2x $scope.incrementUpvotes?您能否确认您的 cmets upvoting 注册在 mongodb 中?
  • 这是我在 Git github.com/thinkprivacy/MEAN 上的项目 - 我不明白为什么会出现 500 错误,我的代码看起来和你的一样
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-04
  • 1970-01-01
相关资源
最近更新 更多