博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nodejs之路(二)—— Nodejs再入门
阅读量:6079 次
发布时间:2019-06-20

本文共 2479 字,大约阅读时间需要 8 分钟。

一、在Node中使用模板引擎

js代码:

// art-template不仅可以在浏览器使用,也可以在node中使用// 1.安装 npm install art-temlate模板引擎// 2.在需要使用的文件模块中加载art-template//      只需要使用require方法加载就可以了:require('art-template')//      参数中的art-template就是你下载的包的名字//      也就是说你install 的名字是什么,则你require中的就是什么// 3.查文档,使用模板引擎的APIvar template = require('art-template')var fs = require('fs')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)})

html代码:

    
{<div></div> {title}}

大家好,我叫:{

{ name }}

我今年{

{ age }}岁了

我来自{
{ province }}

我喜欢:{

{each hobbies}}{
{ $value }}{
{/each}}

结果:渲染成功

二、Nodejs中url模块的使用

var url = require('url')// parse方法将路径解析为一个方便操作的对象,第二个参数为 true 表示直接将查询字符串转为一个对象(通过query属性来访问)var obj = url.parse('/pinglun?name=火箭队&message=下赛季加油',true)console.log(obj)// 获取查询字符串对象console.log(obj.query)// 单独获取不包含查询字符串的路径部分(该路径不包含 ? 之后的内容)console.log(obj.pathname)

结果:

 三、通过服务器让客户端重定向

代码:

var http = require('http')http.createServer(function(req,res){    var url = req.url    if(url === '/'){        res.setHeader('Content-Type','text/plain; charset=utf-8')        res.end('起始页')    }else if(url === '/next'){        res.setHeader('Content-Type','text/plain; charset=utf-8')        res.end('成功跳转')        console.log('成功跳转')    }else if(url === '/tiaozhuan'){        //如何通过服务器让客户端重定向?        //  1.状态码设置为 302 临时重定向(通过statusCode设置)        //  2.在响应头中通过 Location告诉客户端往哪儿重定向(通过setHeader设置)        //  如果客户端发现收到服务器的响应的状态码是 302 就会自动去响应头中找 Location,然后对改地址发起新的请求        //  所以你就能看到客户端自动跳转了        res.statusCode = 302        res.setHeader('Location', '/next')        console.log('跳转请求')        res.end()        //注意: 一次请求对应一次响应,响应结束,这次请求也就结束了        //      301 永久重定向 浏览器会记住        //      302 临时重定向 浏览器不记忆      }}).listen(3000,function(){    console.log('Server is running')})

结果:浏览器输入 http://127.0.0.1:3000/tiaozhuan 后会自动跳转到 http://127.0.0.1:3000/next

四、一些补充

1.服务端渲染和客户端渲染:

1.1 客户端渲染:

1.2服务端渲染:

1.3服务端渲染和客户端渲染的区别:

  • 客户端渲染不利于SEO搜索引擎优化

  • 服务端渲染是可以被爬虫抓取到的,客户端异步渲染是很难被爬虫抓取到的

  • 你会发现真的网站既不纯异步也不是纯客户端渲染出来的,而是两者结合来做的

  • 例如京东的商品列表就采用的是服务端渲染,目的是为了SEO搜索引擎优化。而它的商品列表评论为了用户体验,而且也不需要SEO优化,所以采用的是客户端渲染

 

转载于:https://www.cnblogs.com/FHC1994/p/10846935.html

你可能感兴趣的文章
[转载]乔布斯十大经典语录
查看>>
水果瀑布流布局
查看>>
SharedSDK微信分享不成功,分享之后没有反应
查看>>
js 冷门的 label 语法
查看>>
新姿势!Redis中调用Lua脚本以实现原子性操作
查看>>
CSS 外边距(MARGIN)重叠及防止方法-转
查看>>
数据结构 链表基础算法
查看>>
待修 Bug
查看>>
2594. [WC2006]水管局长数据加强版【LCT+最小生成树】
查看>>
html5定位并在百度地图上显示
查看>>
分析dubbo心跳检测机制
查看>>
[python]练习之九九乘法表
查看>>
Github上的star和fork是什么
查看>>
mysql引擎 区别
查看>>
在WPF中如何将Enum 绑定到 集合控件?
查看>>
android四大组件(一)Activity
查看>>
lamp配置多个虚拟站点
查看>>
C++——函数重载
查看>>
poj1251 裸Prim
查看>>
abstract class VS Interfact
查看>>