网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 Node.js项目中调用JavaScript的EJS模板库的方法
内容
    这篇文章主要介绍了Node.js项目中调用JavaScript的EJS模板库的方法,通过EJS模板引擎可以制作出维护性良好的HTML代码结构,需要的朋友可以参考下
    作为外部模块,调用的方法和mysql模块是相同的,不再赘述。
    ejs的render函数有两个参数 第一个是字符串,第二个是可选的对象,和其他javascript模版一样需要渲染的数据也是包含在option对象中的
    ejs.render(str,option); 
    // 渲染字符串 str 一般是通过nodejs文件系统的readfile方法读取 
    ejs.render(str,{ 
      data : user_data // 需要渲染的数据 
    }); 
    当str字符串中没有包含 include 标签时,渲染数据是没有问题的,反之,就会报错。前面已经讲过我的项目文件和nodejs的安装文件不在同一个根目录下。解决这个问题需要配置option参数的filename属性。
    查看ejs源码,会发现,ejs在处理include包含文件的路径时会用到一个resolveInclude函数:
    function resolveInclude(name, filename) { 
     var path = join(dirname(filename), name); 
     var ext = extname(name); 
     if (!ext) path += '.ejs'; 
     return path; 
    } 
    filename正是dirname函数的参数,作为nodejs核心模块的path.dirname(),返回的path总是相对nodejs的安装路径,如果不指定filename值,就会找不到文件
    在使用dirname时应当注意,函数处理传入的路径参数时会截取第一个
     '/' 之前的部分作为路径名例如:
    path.dirname('/foo/bar/baz/asdf/quux') 
    // returns 
    '/foo/bar/baz/asdf'
    要取得tpl目录可以这样写:
    path.dirname('/tpl/..') // return /tpl 
    完整的render函数可以这样:
    ejs.render(str,{ 
      filename : path + '/tpl/..', //tpl文件中保存的是模版文件 
      data: user_data 
    }); 
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/17 13:28:59