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来作为更目录使用。

原文地址:https://www.cnblogs.com/ll409546297/p/7020115.html