Я довольно новичок в Node, я слежу за учебником по созданию простого сервера, который обслуживает динамические pags с некоторыми базовыми маршрутами, но продолжает получать Error: Cannot GET/
после запуска node server.js
и вызова localhost : 3300 в браузере. Мои маршруты определяются внешне и инициализирована с помощью routes.initialise()
следующим образом:Ошибка браузера Node.js Невозможно GET/
//routes.js
var home = require('../controllers/home'),
image = require('../controllers/image'),
express = require('express');
module.exports.initialize = function(app, router) {
//var router = express.Router();
router.get('/', home.index);
router.get('/images/:image_id', image.index);
router.post('/images', image.create);
router.post('/images/:image_id/like', image.like);
router.post('/images/:image_id/comment', image.comment);
app.use('/', router);
};
Я искал далеко и широко, но никакого решения предстоящая. Я очень расстроен и нуждаюсь в некоторой помощи здесь.
У меня есть server.js, который создает сервер:
//server.js
var express = require('express'),
config = require('./server/configure'),
app = express();
app.set('port', process.env.PORT || 3300);
app.set('views', __dirname + '/views');
app = config(app);
var server = app.listen(app.get('port'), function() {
console.log('Server up: http://localhost:' + app.get('port'));
});
и А configure.js что конфигурирует сервер:
//configure.js
var path = require('path'),
routes = require('./routes'),
exphbs = require('express3-handlebars'),
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.engine('handlebars', exphbs.create({
defaultLayout: 'main',
layoutsDir: app.get('views') + '/layouts',
partialsDir: [app.get('views') + '/partials']
}).engine);
app.set('view engine', 'handlebars');
app.use(morgan('dev'));
app.use(bodyParser({
uploadDir:path.join(__dirname, 'public/upload/temp')
}));
app.use(methodOverride());
app.use(cookieParser('some-secret-value-here'));
routes.initialize(app, new express.Router());
app.use('/public/', express.static(path.join(__dirname, '../public')));
if ('development' === app.get('env')) {
app.use(errorHandler());
}
return app;
};
также два файла, home.js
и image.js
, которые, как предполагается, предоставлять маршруты по умолчанию из configure.js:
//home.js
module.exports = {
index: function(req, res) {
res.send('The home:index controller');
}
};
//image.js
module.exports = {
index: function(req, res) {
res.send('The image:index controller ' + req.params.image_id);
},
create: function(req, res) {
res.send('The image:create POST controller');
},
like: function(req, res) {
res.send('The image:like POST controller');
},
comment: function(req, res) {
res.send('The image:comment POST controller');
}
};
Каждый раз, когда я пытаюсь ПОЛУЧИТЬ любую из ссылок в браузере, он возвращает ошибку Can not GET /. Любая помощь будет оценена.
Большое вам спасибо :)
Можете ли вы поместить код в github, чтобы я мог попробовать? Это довольно много, чтобы скопировать и вставить правильно. –
О, извините, я не использую Github. Это всего пять файлов: server.js, configure.js, image.js, home.js и routes.js. –
наденьте его на Dropbox или часть файла – Iceman