手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Node.js项目中调用JavaScript的EJS模板库的方法
Node.js项目中调用JavaScript的EJS模板库的方法
摘要:作为外部模块,调用的方法和mysql模块是相同的,不再赘述。ejs的render函数有两个参数第一个是字符串,第二个是可选的对象,和其他ja...

作为外部模块,调用的方法和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 });

【Node.js项目中调用JavaScript的EJS模板库的方法】相关文章:

用JavaScript实现页面重定向功能的教程

在ASP.NET MVC项目中使用RequireJS库的用法示例

使用JavaScript刷新网页的方法

JavaScript检测鼠标移动方向的方法

javascript搜索框效果实现方法

JavaScript实现鼠标滑过处生成气泡的方法

用JavaScript实现对话框的教程

javascript实现Table排序的方法

Javascript 字符串模板的简单实现

简介JavaScript中的getUTCFullYear()方法的使用

精品推荐
分类导航