나는 또한 동일한 문제에 직면 express 3.X
하고 node 0.6.16
. 위의 솔루션은 최신 버전에서는 작동하지 않습니다 express 3.x
. 그들은 app.register
방법을 제거하고 방법을 추가했습니다 app.engine
. 위의 해결책을 시도하면 다음 오류가 발생할 수 있습니다.
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Object function app(req, res){ app.handle(req, res); } has no method 'register'
at Function.<anonymous> (/home/user1/ArunKumar/firstExpress/app.js:37:5)
at Function.configure (/home/user1/ArunKumar/firstExpress/node_modules/express/lib/application.js:399:61)
at Object.<anonymous> (/home/user1/ArunKumar/firstExpress/app.js:22:5)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Array.0 (module.js:479:10)
at EventEmitter._tickCallback (node.js:192:40)
오류 메시지를 제거합니다. 에 다음 줄을 추가하십시오app.configure function
app.engine('html', require('ejs').renderFile);
참고 : ejs
템플릿 엔진 을 설치해야합니다
npm install -g ejs
예:
app.configure(function(){
.....
// disable layout
app.set("view options", {layout: false});
app.engine('html', require('ejs').renderFile);
....
app.get('/', function(req, res){
res.render("index.html");
});
참고 : 가장 간단한 해결책은 ejs 템플릿을보기 엔진으로 사용하는 것입니다. 거기에서 * .ejs보기 파일에 원시 HTML을 작성할 수 있습니다.