I am trying to configure routing in my Node.js application using Express.js and Mongoose.js using this tutorial - https://thinkster.io/mean-stack-tutorial/
When I test cURL, it gives me this message:
(Curl script is: curl --data 'title=test&link=http://test.com' http://localhost:3000/#/posts)
Error: Not Found
at /Users/adamz/flapper-news3/app.js:30:13
at Layer.handle [as handle_request] (/Users/adamz/flapper-news3/node_modules/express/lib/router/layer.js:82:5)
at trim_prefix (/Users/adamz/flapper-news3/node_modules/express/lib/router/index.js:302:13)
at /Users/adamz/flapper-news3/node_modules/express/lib/router/index.js:270:7
at Function.proto.process_params (/Users/adamz/flapper-news3/node_modules/express/lib/router/index.js:321:12)
at next (/Users/adamz/flapper-news3/node_modules/express/lib/router/index.js:261:10)
at /Users/adamz/flapper-news3/node_modules/express/lib/router/index.js:603:15
at next (/Users/adamz/flapper-news3/node_modules/express/lib/router/index.js:246:14)
at Function.proto.handle (/Users/adamz/flapper-news3/node_modules/express/lib/router/index.js:166:3)
at router (/Users/adamz/flapper-news3/node_modules/express/lib/router/index.
For reference, my app.js file is as follows:
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var users = require('./routes/users');
var mongoose = require('mongoose');
require('./models/Posts');
require('./models/Comments');
mongoose.connect('mongodb://localhost/news');
var app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
And my routes /Index.js:
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var Post = mongoose.model('Post');
var Comment = mongoose.model('Comment');
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.get('/posts', function(req, res, next) {
Post.find(function(err, posts){
if(err){ return next(err); }
res.json(posts);
});
});
router.post('/posts', function(req, res, next) {
var post = new Post(req.body);
post.save(function(err, post){
if(err){ return next(err); }
res.json(post);
});
});
module.exports = router;
Is something wrong? I copied and pasted directly from the tutorial, Node.js is running, mongodb is running, so I'm really not sure what is going on. Let me know if any other information will help. Thanks in advance for your help.