62.nodejs中的ejs模板学习

时间:2023-01-14 12:17:24

转自:https://blog.csdn.net/dongmelon/article/details/72403913

02.ejs。这是被include的文件

  1. <script>
  2. console.log("aaaa")
  3. </script>

01.ejs  模板文件ejs  注意:<% js语句 %>  <%= 取值到模板上面 %>  <%- include写法 %>

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <title></title>
  6. </head>
  7. <body>
  8. <% for (var i=0;i<names.length;i++){ %>
  9. <h1><%= names[i] %></h1>
  10. <% } %>  //js循环语句加取值
  11. <%- include("./htdocs/views/02.ejs") %>  //include其他文件这样可以把公共东西写一起
  12. </body>
  13. </html>

app.js

  1. var ejs=require("ejs");
  2. var express=require('express')
  3. var app=express();
  4. console.log(__dirname);
  5. app.get("/open",function(req,res){
  6. str=require("fs").readFileSync(__dirname+"/views/01.ejs","utf8")  //先读文件
  7. var html=ejs.render(str,{
  8. names:["cd","lw"],       //第一个参数是给ejs渲染的内容
  9. filename:__dirname       //第二个参数是设置include路径的 不写就找不到 报错
  10. })                           //渲染html
  11. console.log(html)
  12. res.send(html)           //发送给客户
  13. })
  14. app.listen(3000,function(){
  15. console.log("server is running")
  16. })

另外一种js写法可以用res.render();

    1. <span style="font-size:14px;">var ejs=require("ejs");
    2. var express=require('express');
    3. var path=require("path")
    4. var app=express();
    5. app.set('views', path.join(__dirname, 'views'));
    6. app.set('view engine', 'ejs');     //<u>这是ejs配置 不配置也行默认在views文件下</u>
    7. console.log(__dirname);
    8. app.get("/open",function(req,res){
    9. res.render("b.ejs",{
    10. names:["cd","lw"]      //第一个参数是给ejs渲染的内容
    11. //filename:__dirname     //第二个参数是设置include路径的 不写就找不到 报错
    12. })
    13. })
    14. app.listen(3000,function(){
    15. console.log("server is running")
    16. })</span>