玉模板引擎如何在node . js中使用

  

玉模板引擎如何在节点。js中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<>强安装玉

npm  install  -g 玉

执行上面的命令,全局安装。

<强>访客网站

第1步,在myprojects目录下创建一个访问者目录。

第2步,把下面的代码保存在包中。json文件里:

{   ,“name":,“Visitor"   ,“version":,“0.0.0"   ,“private":没错,   ,“dependencies": {   ,“express":“~ 4.13.1"   ,“jade":“~ 1.11.0"   ,}   }

这个json文件描述了我们的访客网站的一些信息,最重要的部分是依赖。我们要使用表达和玉。

var  express =,要求(& # 39;表达# 39;);   var  app =,表达();      var  counter =, 0;//,view  engine 设置   app.set(& # 39;观点# 39;,,& # 39;。/视图# 39;);   app.set (& # 39; view 引擎# 39;,,& # 39;玉# 39;);   app.engine(& # 39;玉# 39;,,需要(& # 39;玉# 39;).__express);      app.get(& # 39;/& # 39;,,函数(点播,res), {   ,计数器+ +;=,,app.locals.counter  counter.toString ();   ,res.render(& # 39;指数# 39;,,{ip: req.ip});   });      app.listen (3000);      时间=app.locals.title “Welcome 用Visitor";   app.locals.counter =,“0”

app.js文件是我们网站的入口。

第4步,创建一个视图目录,在里面创建一个模板文件索引。玉,内容如下:

doctype  html   超文本标记语言   ,头   title=,   ,身体   ,h2=标题   ,p 你好,# {ip}   ,p 你们# 39;re , #{柜台},访客。

第5步,在游客目录里执行“npm安装”,安装依赖。

第6步,在游客目录里执行“节点app.js”,启动网站。

最后呢,就可以在浏览器里访问了,地址栏里输入“http://localhost: 3000”即可,刷新几次,你可能会看到下面的界面:

玉模板引擎如何在node . js中使用“> </p> <p>这个简单的访客网站,和之前的HelloWorld, HelloExpress都不太一样了,它有了一些动态的内容。接下来我们就来看看这一切是如何发生的。</p> <p> <强>表达与模板引擎</强> </p> <p>我在访客里使用了玉模板引擎,类似的还有ejs以及很多,可以访问这里来了解:https://github.com/joyent/node/wiki/Modules。</p> <p>模板引擎使用模板文件来动态生成HTML文件,在生成时又可以按照一定的规则将应用程序里的数据整合进HTML文件。这样,我们既避免了手动编写HTML的繁琐(相对使用模板而言),又能生成具有动态内容的网页。</p> <p>表达和玉结合得比较好,我们来看看怎么配置它。</p> <p> <强>表达配置玉</强> </p> <p>表达服务器的行为可以通过一些设置选项来控制,这些选项可以通过表达对象的设置(设置值),启用(设置)和禁用(设置)来设置。具体支持哪些设置,可以看这里http://expressjs.com/4x/api.html。我们的访客只用到了”视图引擎”和“视图”。</p> <p>”视图引擎”选项用来设置要使用的引擎,游客的代码如下:</p> <pre类= app.set (& # 39; view 引擎# 39;,,& # 39;玉# 39;);

“视图”选项用来设置模板文件所在目录,游客的代码如下:

app.set(& # 39;观点# 39;,,& # 39;。/视图# 39;);

我在这里简单的使用了相对路径,更好的做法是使用路径模块,根据全局变量__dirname来拼接.__dirname指当前正在执行的脚本所在的目录,对我们的访客示例来讲,就是应用。js所在的那个目录。代码可能是这样的:

var  path =,要求(& # 39;path & # 39;);   path.join (__dirname, & # 39;观点# 39;);

表达默认会根据模板文件的扩展名来使用对应的引擎。对于*。玉文件,表达内部会调用下面的语句:

app.engine(& # 39;玉# 39;,,需要(& # 39;玉# 39;).__express);

所以,我们的应用。js,实际上也可以去掉这行代码,结果是一样的。

<强>本地对象

我们可以在模板文件里包含动态数据,这些动态数据来自应用程序。我们可以使用表达对象的当地人对象来存储本地变量。下面的代码就存储了标题和访问计数:

app.locals.title =,“Welcome 用Visitor";   app.locals.counter =,“0”

玉模板文件里可以直接访问表达对象的当地人对象的属性。我在app.js里设置的标题和计数器,在索引。玉模板文件引用了它们。

玉模板引擎如何在node . js中使用