2017-06-13 59 views
0

我最近在NodeJS和Express中構建了一個MVC(當然,更像是一個VC應用程序)應用程序。一切工作正常,直到我安裝了express-validator並將中間件粘貼到應用程序文件中。之後,localhost開始掛起,並在控制檯中顯示GET/- ms - 消息。我開始一個新的應用程序,重新安裝模塊,並複製和粘貼代碼。我仍然有同樣的問題,所以我刪除了express-validator中間件。沒有改變。 App.js(入口點):爲什麼我的應用掛在本地主機上?

var config = require('./server/configure'); 
var express = require('express'); 
var app = express(); 
var app = config(app); 
app.set('port', process.env.port || 3300); 
app.set('views', __dirname + '/views'); 
app.listen(app.get('port'), function(req, res){ 
    console.log('Server up: http://localhost:' + app.get('port')); 
}); 

的路由文件(/server/routes.js)

var express = require('express'); 
    home = require('../controllers/home'); 
module.exports = function(app) { 
    router = express.Router(); 
    router.get('/', home.home); 
    app.use(router); 
}; 

的配置模塊(/server/configure.js)

var path = require('path'), 
    routes = require('./routes'), 
    ejs = require('ejs'), 
    express = require('express'), 
    bodyParser = require('body-parser'), 
    cookieParser = require('cookie-parser'), 
    morgan = require('morgan'), 
    methodOverride = require('method-override'), 
    errorHandler = require('errorhandler'); 
module.exports = function(app) { 
    app.use(morgan('dev')); 
    app.use(bodyParser.json); 
    app.use(bodyParser.urlencoded({extended:false})); 
    app.use(bodyParser({ 
    uploadDir: path.join(__dirname, 'public/upload/temp') 
    })); 
    app.use(methodOverride()); 
    app.use(cookieParser('secret value')); 
    routes(app); 
    app.use('/public/', express.static(path.join(__dirname, '../public'))); 
    if ('development' === app.get('env')) { 
    app.use(errorHandler()); 
    } 
    app.set('view engine', 'ejs'); 
    return(app); 
}; 

家庭控制器(/controllers/home.js):

module.exports = { 
    home: function(req, res) { 
     res.render('home'); 
    } 
}; 

包文件(的package.json):

{ 
    "name": "krementcookdev", 
    "version": "1.0.0", 
    "description": "the krementcook web application", 
    "main": "app.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "Isaac Krementsov", 
    "license": "ISC", 
    "dependencies": { 
    "body-parser": "*", 
    "cookie-parser": "*", 
    "ejs": "*", 
    "errorhandler": "*", 
    "express": "*", 
    "express-handlebars": "*", 
    "express-validator": "*", 
    "method-override": "*", 
    "morgan": "*", 
    "path": "*" 
    }, 
    "devDependencies": {} 
} 

當然,我在/ views目錄的圖文件(home.ejs)。如果您需要查看,請告訴我,我會將其添加到帖子中。請不要關閉這個副本;我檢查過類似的問題,他們大多都認爲簡單的應用程序沒有路由器或類似的東西。我嘗試了適用於我的解決方案,但沒有一個是相關的或生產性的。 更新:我確實在軟件包文件中有特定的版本,但我仍然有同樣的問題。

回答

0

嘗試在依賴項中使用特定版本(最新版本)的單個軟件包。欲瞭解更多詳情請參閱 - https://docs.npmjs.com/files/package.json

+0

我以前做過,但我仍然有同樣的問題。 –

相關問題