这是我学习node的整理笔记。是我对各个视频和文档的综合理解,以备我日后复习存储。如果有错误的地方,还请各位大佬多多赐教
模板引擎(art-template)使用以及实例
一、安装
1、package.json(包描述文件)安装
我们建议每一个项目都要有一个package.json文件(包描述文件,就像产品说明书一样)。
打开当前文件目录的 cmd 并输入:npm init ,此时 node 会自动帮我们创建一个package.json文件
2、安装npm install art-template --save
art-template是一个简单且超快速的模板引擎,可通过范围内预先声明的技术优化模板渲染速度,从而实现接近JavaScript极限的运行时性能。同时,它同时支持NodeJS和浏览器。在线速度测试。更多详情
打开 cmd 并输入:npm install art-template --save ,–save 是为了告诉 node 把第三方模块的包名以及版本信息放入到 package.json 中去。
注意: 该命令在哪执行就会把包下载到哪里,默认会下载到node_modules目录中。 node_modules目录不要改,也不支持改(不可以复制到其他地方去。)一般都下载到我们所写的文件下面。
3、如果不小心删除了 node_modules 目录
打开 cmd 并输入:npm install ,就可以帮我们自动恢复我所下的所有第三包模块。前提是我们有 package.json 文件,它会自动根据 package.json 中的依赖去下载第三方模块
二、node.js中的模板引擎(art-template)实例
1、第三方模块(art-template)引入
var template = require('art-template')
2、开始写代码
html部分:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{ title }}</title>
</head>
<body>
<p>大家好,我叫:{{ name }}</p>
<p>我今年 {{ age }} 岁了</p>
<h1>我来自 {{ province }}</h1>
<p>我喜欢:{{each hobbies}} {{ $value }} {{/each}}</p>
<script>
var foo = '{{ title }}'
</script>
</body>
</html>
js部分:
简单的来说,就是获取到html页面中的字符串,并用模板引擎进行替换。
var template = require('art-template')
var fs = require('fs')
fs.readFile('./index.html', function(err, data) {
if (err) {
index.html
return console.log('读取文件失败了')
}
// 默认读取到的 data 是二进制数据
// 而模板引擎的 render 方法需要接收的是字符串
// 所以我们在这里需要把 data 二进制数据转为 字符串 才可以给模板引擎使用
var ret = template.render(data.toString(), {
name: '君莫笑',
age: 18,
province: '江苏',
hobbies: [
'前端',
'动漫',
'打游戏'
],
title: '自我介绍'
})
console.log(ret)
})