2017-10-19 7 views
0

내가 전화 할 때마다/GET 할 수 없습니다 http://localhost:3000/api/tasks는 GET 할 수 없습니다/API/작업을 얻고있다는 API/작업

내 server.js

var express = require('express'); 
var path = require('path'); 
var BodyParser = require('body-parser'); 

var index = require('./routes/index'); 
var tasks = require('./routes/tasks'); 

var port = 3000; 

var app = express(); 

//View Engine 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'ejs'); 
app.engine('html', require('ejs').renderFile); 

// Set Static Folder 
app.use(express.static(path.join(__dirname, 'client'))); 

// Body Parser MW 
app.use(BodyParser.json()); 
app.use(BodyParser.urlencoded({extended: false})); 

app.use('/', index); 
app.use('api', tasks); 

app.listen(port, function(){ 
console.log('Server started on port '+port); 
}); 

난 아직도 밧줄을 배우고있다. 사전에 감사

tasks.js

var express = require('express'); 
var app= express(); 
var mongojs = require('mongojs') 
var db = mongojs('mongodb://<user>.:<****>@ds125365.mlab.com:25365/mytasklist_wafalme', ['tasks']) 

// Get All Tasks 
app.get('/tasks', function(req, res, next){ 
db.tasks.find(function(err, tasks){ 
    if(err){ 
     res.send(err); 
    } 
    res.json(tasks); 
}); 
}); 

// Get Single Tasks 
app.get('/tasks/:id', function(req, res, next){ 
db.tasks.findOne({_id: mangojs.ObjectId(req.params.id)}, function(err, task){ 
    if(err){ 
     res.send(err); 
    } 
    res.json(task); 
}); 
}); 
module.exports = app; 

나는 API 라우팅을 정의하는 index.js

+0

./routes/tasks.js 파일을 표시하십시오. –

+0

'app.use ('/ api ', tasks);를 사용하면 안됩니까? @AnuratChapanond에서 언급했듯이, 작업 경로 파일을 추가하십시오. –

답변

1

사용 절대 경로로 루트 폴더에서 실행되는 task.js 파일을 첨부 컨텍스트 :

app.use('/', index); 
app.use('/api', tasks); 

는 항상 루트의 시작 부분에 슬래시 ( /)를 포함한다.