2016-12-23 44 views
0

您好我已經在我的總是入門未找到404

下面的代碼app.js

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'); 

// Used to connect to the MongoDB database 
var mongo = require('mongodb') 


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

var users = require('./routes/users'); 

var app = express(); 


// Define the directory with the views and to use Jade 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'jade'); 


// 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'))); 


// Define what route files to use being routes/index.js for/
// routes/users.js for /users 
// The route files then render the page 
app.use('/', routes); 
app.use('/users', users); 
console.log("The Value of Appadadasd",""+ app); 

// 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(); 
var mongodb = require('mongodb'); 



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


var MongoClient = mongodb.MongoClient; 
var url = 'mongodb://localhost:27017/AddServer'; 

// Use connect method to connect to the Server 
MongoClient.connect(url, function (err, db) { 
    if (err) { 
    console.log('Unable to connect to the mongoDB server. Error:', err); 
    } else { 
    //HURRAY!! We are connected. :) 
    console.log('Connection established to', url); 

    // Get the documents collection 
    var collection = db.collection('users'); 

    //Create some users 
    var user1 = {name: 'modulus admin', age: 42, roles: ['admin', 'moderator', 'user']}; 
    var user2 = {name: 'modulus user', age: 22, roles: ['user']}; 
    var user3 = {name: 'modulus super admin', age: 92, roles: ['super-admin', 'admin', 'moderator', 'user']}; 

    // Insert some users 
    collection.insert([user1, user2, user3], function (err, result) { 
     if (err) { 
     console.log(err); 
     } else { 
     console.log('Inserted %d documents into the "users" collection. The documents inserted with "_id" are:', result.length, result); 
     } 
     //Close connection 
     db.close(); 
    }); 
    } 
}); 
module.exports = router; 

和我users.js

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

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

module.exports = router; 

當我輸入http://localhost:3000/它工作完美 但是當我試圖調用http://localhost:3000/users它給我

未找到

Error: Not Found 
    at D:\AddServer\AddServer\app.js:45:13 
    at Layer.handle [as handle_request] (D:\AddServer\AddServer\node_modules\express\lib\router\layer.js:95:5) 
    at trim_prefix (D:\AddServer\AddServer\node_modules\express\lib\router\index.js:312:13) 
    at D:\AddServer\AddServer\node_modules\express\lib\router\index.js:280:7 
    at Function.process_params (D:\AddServer\AddServer\node_modules\express\lib\router\index.js:330:12) 
    at next (D:\AddServer\AddServer\node_modules\express\lib\router\index.js:271:10) 
    at D:\AddServer\AddServer\node_modules\express\lib\router\index.js:618:15 
    at next (D:\AddServer\AddServer\node_modules\express\lib\router\index.js:256:14) 
    at Function.handle (D:\AddServer\AddServer\node_modules\express\lib\router\index.js:176:3) 
    at router (D:\AddServer\AddServer\node_modules\express\lib\router\index.js:46:12) 

它不是路由到users.js我想我我做了一些愚蠢的錯誤,但我是一個新節點,無法弄清楚。

+0

localhost:3000/users在您的網站的根目錄中搜索一個名爲users的文件夾,如果可以找到它,則加載index.html。你需要指定文件擴展名所需的文件(在這種情況下是.js)也user.js!== users.js –

+0

我想要類型user.js和它的users.js –

+0

Mukesh Sharma回答你的問題。 – num8er

回答

3

你被定義

app.use('/users', users); 

安裝在/usersusers路線但是,你users.js文件,你只定義了/users路線,這是http://localhost:3000/users/users訪問(因爲安裝的),而不是由http://localhost:3000/users

嘗試更改路線中的path/users/users.js

例如

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

編輯

討論的具體要求後,你可以做以下更改訪問http://localhost:3000/user

app.js

app.use('/user', users); 

users.js

router.get('/', function(req, res, next) { 
    res.render('index', { title: 'Express' }); 
}); 
+0

謝謝@Mukesh Sharma我想訪問url http:// localhost:3000/user我必須在app.js和users.js中寫些什麼? –

+0

檢查我的更新答案。 –