node.js学习笔记(三)apach目录实现 在node中使用模板引擎 服务端重定向

apach目录实现

js使用foreach来遍历(现在只会简单js语法)
在这里插入图片描述
在js地es6标准中,可以用${}来引用变量

在node中使用模板引擎

// art-template
// art-template 不仅可以在浏览器使用,也可以在 node 中使用

// 安装:
// npm install art-template
// 该命令在哪执行就会把包下载到哪里。默认会下载到 node_modules 目录中
// node_modules 不要改,也不支持改。

// 在 Node 中使用 art-template 模板引擎
// 模板引起最早就是诞生于服务器领域,后来才发展到了前端。
//
// 1. 安装 npm install art-template
// 2. 在需要使用的文件模块中加载 art-template
// 只需要使用 require 方法加载就可以了:require('art-template')
// 参数中的 art-template 就是你下载的包的名字
// 也就是说你 isntall 的名字是什么,则你 require 中的就是什么
// 3. 查文档,使用模板引擎的 API


var template = require('art-template')
var fs = require('fs')

// 这里不是浏览器
// template('script 标签 id', {对象})

// var tplStr = `
// <!DOCTYPE html>
// <html lang="en">
// <head>
// <meta charset="UTF-8">
// <title>Document</title>
// </head>
// <body>
// <p>大家好,我叫:{{ name }}</p>
// <p>我今年 {{ age }} 岁了</p>
// <h1>我来自 {{ province }}</h1>
// <p>我喜欢:{{each hobbies}} {{ $value }} {{/each}}</p>
// </body>
// </html>
// `

fs.readFile('./tpl.html', function (err, data) {
if (err) {
return console.log('读取文件失败了')
}
// 默认读取到的 data 是二进制数据
// 而模板引擎的 render 方法需要接收的是字符串
// 所以我们在这里需要把 data 二进制数据转为 字符串 才可以给模板引擎使用
var ret = template.render(data.toString(), {
name: 'Jack',
age: 18,
province: '北京市',
hobbies: [
'写代码',
'唱歌',
'打游戏'
],
title: '个人信息'
})

console.log(ret)
})

url地址解析

在这里插入图片描述

url.parse方法将路径解析为一个对象,第二个参数true表示将查询字符串转换为一个对象,通过query属性来访问

重定向

状态码设置为302,临时重定向
在响应头中通过location告诉客户端往哪重定向
如果客户端发现收到服务器地状态码是302,就会向响应头location跳转

res.statusCode=302
res.setHeader('Location','/')
res.end()//没有响应数据,浏览器无视响应行为
发布了136 篇原创文章 · 获赞 14 · 访问量 5815
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章