基于node.js的服务端渲染小demo

服务端渲染也就是在服务端使用模板引擎
服务端渲染客户端渲染的区别:

  • 客户端渲染不利于 SEO 搜索引擎优化 (Search Engine Optimization)
  • 服务端渲染是可以被爬虫抓取到的,客户端异步渲染是很难被爬虫抓取到的
  • 真正的网站既不是纯异步也不是纯服务端渲染出来的 而是两者结合来做的
  • 例如京东的商品列表就采用的是服务端渲染,目的了为了 SEO 搜索引擎优化;而它的商品评论列表为了用户体验,而且也不需要SEO优化,所以采用是客户端渲染

这里也是使用art-template模板引擎,首先在项目所在目录安装art-template npm install art-template

js代码

var template = require('art-template')
 var fs = require('fs')
 var http = require('http')
 var server = http.createServer()
 server.on('request',function(req,res){
	fs.readFile('./tpl.html',function(err,data){
		 if(err){
			 return console.log('读取文件失败了')
		 }
		 // 默认读取到的data数据是二进制数据
		 // 模板引擎的render方法需要接受的是字符串
		 // 需将data二进制转为字符串
		 var data = data.toString();
		 var htmlStr = template.render(data,{
			 name:'Tom',
			 age:20,
			 province:'北京市',
			 hobbies:[
				 '看书',
				 '唱歌',
				 '跳舞'
			 ]
		 })
	res.end(htmlStr)
	})
 })
 
 server.listen(3000,function(){
	 console.log('server running....')
 })

tpl.html



	
		
		
	
	
		

我是:{{name}}

年龄:{{age}}

来自:{{province}}

爱好:{{each hobbies}} {{$value}} {{/each}}

客户端效果图

基于node.js的服务端渲染小demo_第1张图片

你可能感兴趣的:(基于node.js的服务端渲染小demo)