上节课 我们通过gulp-template 写入静态数据生成了一个HTML文件;
那么这节课 我们继续实战提高一下。
NodeJS Request模块
npm instal request --save-dev
有了这个库,我们可以在NodeJS里面方便的实现类似curl功能.
npm install gulp-rename --save-dev
news.php
<?php
$news=new stdClass();
$news->id=123;
$news->title="标题";
$news->content="内容";
exit(json_encode($news));
将我们前几节课的node_modules/sxin/slib.js 改造下
var req=require("request");
exports.loadNews=function(doSomething){
req.get("http://localhost:1024/news.php",function (err,response,body) {
if (!err && response.statusCode==200)
{
doSomething(body);
}
});
}
gulpfile.js
var gulp_tpl = require('gulp-template');
var gulp_rename=require('gulp-rename');
gp.task("news", function () {
var getNews=require("sxin");
getNews.loadNews(function(body)
{
var news=JSON.parse(body);
gp.src(['index.html'])
.pipe(gulp_tpl(news))
.pipe(gulp_rename(news.id+".html"))
.pipe(gp.dest('./build/html'));
});
});
index.html 模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>标题:<%=title %></h1>
<h2>内容:<%=content %></h2>
</body>
</html>