使用art-template生成静态页面

我们常用的web端后台系统很多基于vue或者php开发,用这些框架和语言开发的项目都有一个特性,页面都是动态的,我们知道动态页面SEO并不友好,当前,后台系统也不需要考虑SEO,但假如你开发的是企业网站,就需要考虑SEO优化,用PHP开发企业网站的话可以做伪静态,但始终不是完全静态。

这里简单介绍一下利用node.js生成静态页面。

1.node文件写法

const fs = require("fs")
const template = require("art-template"); //引用art-template模板引擎

router.post('/', (req,res)=> {
    //读取的静态文件模板
	fs.readFile("page/index.html", function(err, data) {
		let htmlstr = template.render(data.toString(), {
			//赋值需要渲染的数据
			title: '',
			keywords: ``,
			description: ``,
			logoImg: ``,
			type: ``,
			data: ``,
		});
        //生成后的静态文件将保存在当前位置
		fs.writeFile(`src/index.html`,htmlstr,function(error){
			if(error){
				console.log(error)
				return false
			}
			console.log('生成成功')
		})
	})
})

注:可以按项目需求,修改为批量生成静态页面,比如生成文章详情页。

2.html文件写法,使用{{变量名}},变量名要和上面template.render的变量一致,如果变量为数组类型,需要遍历数据,则使用{{each 变量名}},每条数据以{{$value.变量名}}渲染

<meta name="keywords" content="{{keywords}}">
<meta name="description" content="{{description}}">

<!-- 数组类型 -->
{{each data}}
<div class="">
	<div class="">
		<img style="" src="{{$value.img}}" />
	</div>
	<span class="">{{$value.title}}</span>
</div>
{{/each}}

3.使用{{if 变量名}}执行if判断

{{if files.authorInfo}}
<div class="content_2" style="margin-bottom: 20px;">
	<h3 class="content_2_title">作者</h3>
	<div class="content_2_div">
		<span class="content_2_div_span">{{@files.authorInfo}}</span>
	</div>
</div>
{{/if }}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值