저는 Node에 익숙하지 않았습니다. 기본 경로를 사용하여 동적 pags를 제공하지만 node server.js
을 실행하고 localhost를 호출 한 후 계속해서 Error: Cannot GET/
을 계속 가져 오는 간단한 서버를 작성하는 데 대한 지침서를 따라 왔습니다. 브라우저에서 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);
};
나는 넓고 멀리 있지만 솔루션 향후 검색했습니다. 나는 정말로 좌절하고 여기서 도움이 필요할 것입니다.
//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
에 예상되는 :
//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 :
나는 서버를 생성하는 server.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/error를 반환합니다. 어떤 도움이라도 대단히 감사하겠습니다.
는 너무 감사 :) 실제로 정확한 코드를 복사하여 예상대로 솔직히 간접의 무리를 가지고 적어도 하나의 모듈을 사용되지하지만 그것이 일
코드를 github에 올려 놓을 수 있습니까? 이것은 정확하게 복사하여 붙여 넣기에 적합합니다. –
오, 미안 해요, 나는 기 튜브를 사용하지 않습니다. 단지 5 개의 파일 만 있습니다 : server.js, configure.js, image.js, home.js 및 routes.js. –
드롭 박스 또는 일부 파일 공유에 넣으십시오. – Iceman