2016-05-11 58 views
0

我一直在關注這個mean tutorial和我在部分「測試初始路線」捲曲連接被拒絕以下MEAN教程

,當我把在終端

curl --data 'title=test&link=http://test.com' http://localhost:3000/posts 

我得到這個錯誤

curl: (7) Failed to connect to localhost port 3000: Connection refused 

我有OS X約塞米蒂10.10.5

防火牆已關閉

curl -V 
curl 7.43.0 (x86_64-apple-darwin14.0) libcurl/7.43.0 SecureTransport zlib/1.2.5 
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz UnixSockets 

我一直在四處尋找並使用-4試圖強行IPv4和得到同樣的錯誤

我還發現,我需要從評論/etc/hostsfe80::1%lo0,但我甚至不擁有它,這是該文件的外觀上this post但沒有

## 
# Host Database 
# 
# localhost is used to configure the loopback interface 
# when the system is booting. Do not change this entry. 
## 
127.0.0.1 localhost 
255.255.255.255 broadcasthost 
::1    localhost 

而且我試過的建議。

這是我app.js

var mongoose = require('mongoose'); 
 

 
require('./models/Posts'); 
 
require('./models/Comments'); 
 

 
mongoose.connect('mongodb://localhost/news'); 
 

 
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 app = express(); 
 

 
// view engine setup 
 
app.set('views', path.join(__dirname, 'views')); 
 
app.set('view engine', 'ejs'); 
 

 
// uncomment after placing your favicon in /public 
 
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 
 
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); 
 

 
// catch 404 and forward to error handler 
 
app.use(function(req, res, next) { 
 
    var err = new Error('Not Found'); 
 
    err.status = 404; 
 
    next(err); 
 
}); 
 

 
// error handlers 
 

 
// development error handler 
 
// will print stacktrace 
 
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 
 
    }); 
 
    }); 
 
} 
 

 
// production error handler 
 
// no stacktraces leaked to user 
 
app.use(function(err, req, res, next) { 
 
    res.status(err.status || 500); 
 
    res.render('error', { 
 
    message: err.message, 
 
    error: {} 
 
    }); 
 
}); 
 

 
module.exports = app;

和我index.js

var express = require('express'); 
 
var router = express.Router(); 
 

 
/* GET home page. */ 
 
router.get('/', function(req, res, next) { 
 
    res.render('index', { title: 'Express' }); 
 
}); 
 

 
var mongoose = require('mongoose'); 
 
var Post = mongoose.model('Post'); 
 
var Comment = mongoose.model('Comment'); 
 

 
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;

還沒有工作,我仍然有連接拒絕錯誤,任何其他想法?

回答

0

你的貓鼬物體應放置在你的表達物體上方。

請將下面幾行:

var mongoose = require('mongoose'); 
var Post = mongoose.model('Post'); 
var Comment = mongoose.model('Comment'); 

要將index.js頁面的頂部,你應該罰款。