런타임시 라우트를 작성하려고합니다. 플랫 URL 구조를 만들려고합니다. 기사를 추가하면 슬러그가 만들어지고 새 경로가 만들어집니다.런타임시 nodejs express 4 라우트 작성
나는 특급 4 개의 새로운 라우터 기능을 사용
내가 라우터에서 함수를 만들고 응용 프로그램에서 호출 시도
var express = require('express');
var routes = require('./routes.js');
app.use('/', routes);
var server = http.createServer(app).listen(app.get('port'));
routes.js
var express = require('express');
var router = express.Router();
router.get('/new' ,site.new);
module.exports = router;
을 app.js. 또한 파일에 걸쳐 앱 인스턴스를 공유하면서 라우터에 기능을 생성합니다.
(10)과 전화
var app = require("./app.js");
그것은 다른 생각을 제대로 작동 나던?
갱신 :
내가 파일을 불렀다 helpers.js와 나는
module.exports={
addRoute:function(){
var express = require('express');
var router = express.Router();
var app = require('../app.js');
var routes = require('../routes.js');
router.get('/book', function (req, res) {
res.send('Hello World!');
});
app.use('/book', router);
},
내가하고 결국 다음과 같은 기능을 추가하는
addRoute : 함수() {
var express = require('express');
var router = express.Router();
var routes = require('../routes.js');
var app = require('../start-freedom1.js');
router.get('/book' ,function (req, res, next) {
res.send({"data":"kaki","values":"","errors":""});
});
for(var layer in app._router.stack){
if(app._router.stack[layer].name=="router"){
app._router.stack[layer].handle.stack.splice(0, 0, router.stack[0]);
console.log(app._router.stack[layer].handle.stack)
break;
}
}
///app.use('/', routes);
},
내가 router.get ("*"..... 라우트 파일의 끝에서 항상 404를 보았습니다.
이 * Hello world example * http://expressjs.com/en/starter/hello-world.html을보고 app.js를 적절히 변경하고 alredy에 'var routes = require (' ./routes.js '); app.use ('/', routes);'routes.js가 좋습니다. – Molda