express与ejs,ejs在Linux上面的路径问题
1、学习使用ejs模板(这个是ejs.js)
var express = require('express'); var app = express(); app.set("view engine","ejs"); app.set("views",__dirname+"/views"); app.use(express.static(__dirname)); app.get("/",function(req,res){ res.render("home.ejs",{name:'yorkie'}); }); app.get("/request/:id",function(req,res){ var locals = {name:"yorkie"+__dirname,id:req.params["id"]}; res.render("home.ejs",locals); }); app.listen(3000);
2、home.ejs模板
<html> <head> <title>new templete</title> </head> <body> <script type="text/javascript" src="/views/ejs.min.js"></script> <p>hello world</p> <p>hi <%= name %></p> <p>id <%= id %></p> <div id="test"></div> <script> var tmpl = "<p>new temple</p>"; var newTempleDiv = document.getElementById("test"); newTempleDiv.innerHTML = ejs.render(tmpl); </script> </body> </html>
运行:
node ejs.js
3、这里注意:因为我用的是Linux,js的引用路径是以当前用户的目录为更目录。例如:这里的更目录不是/,而是/root。以/root来作为更目录使用。