2011-01-05 23 views
13

ノードに埋め込みJavascriptレンダラを使用しようとしています。 https://github.com/visionmedia/ejsNode.js - EJSの例

そして、私は次のコードを持っているが、動作していないよう:

すべてのヘルプは大歓迎ここに与えられたように私は、NPMを使用して、それをインストールしました。

答えて

11

あなたは応答に何かを送る必要があります。ようなもので

function(req,res) { 
ejs.render('hi'); 
} 

connect hello-world

var connect = require('../../lib/connect'); 

var server = connect.createServer(function(req, res){ 
    var body = 'Hello World'; 
    res.writeHead(200, { 
     'Content-Type': 'text/plain' 
    , 'Content-Length': body.length 
    }); 
    res.end(body); 
}); 

server.listen(3000); 
console.log('Connect server listening on port 3000'); 

からだからあなたのアプリを置き換えたいでしょう

function(req,res) { 
    res.writeHead(200, { 'Content-Type': 'text/plain' }); 
    res.end(ejs.render('hi')); 
} 

は、その仕事をしていますか?

var express = require('express'); 
var app = express.createServer(); 
app.configure(function() { 
    app.use(express.bodyParser()); 
    app.use(express.static('./static/')); 
    app.use(app.router); 
}); 
app.set('view engine', 'ejs'); 
app.set('view options', { 
    layout: false 
}); 
app.get('/', function(req, res) { 
res.render('index', { 
    message : 'De groeten' 
}); 
}); 
app.listen(3000); 

(あなたは急行とEJSモジュールがインストールされていると仮定)と「./views'でビューを置く:

+0

ありがとうございます! – jeffreyveon

11

はこれを試してみてください。それを「index.ejs」と呼んでいくつかのhtmlで記入してください:

<html> 
<head> 
<title></title> 
</head> 

<body> 
<p> 
<%= message %> 
</p> 
</body> 
</html> 

私のために働きます!

+0

この回答が元の質問を満たしているかどうかわかりません。しかし、私はejsエンジンにモデルを渡す方法を探していました。それはそれをはっきりと示しています!ありがとう、男! :) –

+0

同じ、非常に便利! – vaettchen

0

ejsを使用するようにビューエンジンを設定します。

app.set("view engine", "ejs"); 

ブラウザからサーバーにアクセスするときに何かがロードされるようにルートルートを設定します。以下を参照してください。

var app = express(); 

// ROOT ROUTE 
app.get("/", function(req, res) { 
    res.render("landingpage"); // use to render an ejs template page 
    res.send("hello world"); // to render an empty page with the hello world message 
}); 
関連する問題