一个基于node 的小demo
首先我们新建一个文件夹 demo-test-node-1
目录目录如下
-- blog_recents.js
--template.html
--titles.jspn
首先我们新建一个 template.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> demo-test-node-1 </title>
</head>
<body>
<h1>laters Posts</h1>
<ul>
<li>%</li>
</ul>
</body>
</html>
这个页面就完成了
接下来我们只做 blog_recents.js
var http = require('http');
var fs = require('fs');
var server = http.createServer(function(req,res){
if(req.url == '/'){
fs.readFile('./titles.json',function(err,data){
if(err){
console.log(err);
res.end('Server error');
}else{
var titles = JSON.parse(data.toString());
fs.readFile('./template.html',function(err,data){
if(err){
console.log(err);
res.end('Server error');
}else{
var temp = data.toString();
var html = temp.replace('%',titles.join('</li><li>'));
res.writeHead(200,{'Content-Type':'text/html'});
res.end(html);
}
});
// fs end
}
})
// fs end
}
// if end
})
server.listen(1234,'127.0.0.1',function(){
console.log('127.0.0.1:1234');
});
启动一个http 服务器 加载静态文件 template.html 和 titles.json 文件
接下来我们新建一个 titles.json文件
[
"以项目为驱动,在项目中快乐学习,解决软件开发学习枯燥",
"时间长,效果不明显,容易放弃等问题。"
]
只做完成后,cd 进入你当前的目录 node blog_recent.js 运行 是不是很简单呢
效果图如下

至此demo完成!
此项目demo地址 : https://github.com/guopz/demo-test-node-1
扩展
晋级项目 个人博客
demo地址 :https://github.com/guopz/nodejs-blog
有兴趣的同学可以clone一下
一个基于node 的小demo的更多相关文章
- 一个基于vue的仪表盘demo
最近写了一个基于vue的仪表盘,其中 主要是和 transform 相关的 css 用的比较多.给大家分享一下,喜欢的话点个赞呗?嘿嘿 截图如下: 实际效果查看地址:https://jhcan333. ...
- Swift基础之实现一个镂空图片的小Demo
前两天看了别人的文章,涉及到了镂空的展示,所以我在这里把实现的内容写成Swift语言的小Demo,供大家欣赏 首先,需要创建导航视图,然后创建两种展示方式的按钮 let vc = ViewContro ...
- 如何设计一个基于Node.js和Express的网站架构?
前言 今年七月份,我和几个小伙伴们合伙建立了一个开发团队.业务开展如火如荼的同时,团队宣传就提上了日程,所以迫切需要搭建公司网站出来.确定目标后我们就开始考虑如果构建一个企业网站.先是进行业内调查,看 ...
- gulp安装+一个超简单入门小demo
gulp安装參考.gulp安装參考2. 一.NPM npm是node.js的包管理工具.主要功能是管理.更新.搜索.公布node的包. Gulp是通过npm安装的. 所以首先,须要安装node.js. ...
- iOS:自己写的一个星级评价的小Demo
重新整理了下自己星级评价的Demo,可以展示星级评价,可以动态修改星级. github的地址:https://github.com/hunterCold/HYBStarEvaluationView a ...
- 如何创建一个基于Node的HTTP服务器
首先创建一个HTTP服务器. var http = require('http'); function serve(request,response) { console.log(request.me ...
- 一个JNI的helloworld小demo
最近想学习一下jni,在网上看了一些demo,自己也操作了一遍,首先我将我自己学习的demo网站贴出来:https://blog.csdn.net/lwcloud/article/details/78 ...
- 分享一个基于 Node.js 的 Web 开发框架 - Nokitjs
简介 Nokit 是一个简单易用的基于 Nodejs 的 Web 开发框架,默认提供了 MVC / NSP / RESTful 等支持,并提供对应项目模板.管理工具. 资源 GitHub https: ...
- 一个基于node express4.0和mongodb的活动报名
代码放在code.csdn.net上了,详细https://code.csdn.net/qazwsx2345/node_activity/tree/master git clone git@code. ...
随机推荐
- Xcode8 去除系统日志输出
Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加 OS_ACTIVITY_MODE = disable
- logback配置
好吧,项目中一直使用的是logback做日志记录. 开始跑Demo的时候,一直会报Failed to load class org.slf4j.impl.StaticLogger的错误.后来googl ...
- MySQL协议分析2
MySQL协议分析 议程 协议头 协议类型 网络协议相关函数 NET缓冲 VIO缓冲 MySQL API 协议头 ● 数据变成在网络里传输的数据,需要额外的在头部添加4 个字节的包头. . packe ...
- unicode转GBK,GNK转unicode,解决FATFS中文码表占用ROM问题(转)
源:unicode转GBK,GNK转unicode,解决FATFS中文码表占用ROM问题 之前一直使用的512KB ROM的STM32,但是最近使用的只有128KB,想用FATFS显示支持长文件名,发 ...
- linux内核——1.概述
1.结构 linux中,我们把操作系统分为内核空间和用户空间.用户通过用户空间与操作系统打交道.用户要通过系统调用访问内核空间.下图为Linux体系结构,shell应该为在最顶层. 系统调用,下面链接 ...
- java语法:字符串数组的赋值
字符串数组怎么赋值呢? 首先当然得先定义啦:String infoPack[] : 然后想当然的以为在for循环里,new一个数组, String infoPack[i] = imgurls; 事实证 ...
- CentOS6.5编译安装Redis
一.首先要检测是否安装gcc yum install gcc-c++ yum install -y tcl 进入redis目录 cd /usr/local/redis .编译安装 make make ...
- lower_bound和upper_bound算法实现
lower_bound算法要求在已经按照非递减顺序排序的数组中找到第一个大于等于给定值key的那个数,其基本实现原理是二分查找,如下所示: int lower_bound(vector<int& ...
- MAC + java 环境配置
1. 下载安装 jdk 2. 配置环境 2.1. cd到目录 etc/profile 2.2. 使文件可读:chmod 666 profile model 2.3. 添加环境变量,要切换到etc目录: ...
- Tsinsen A1333: 矩阵乘法(整体二分)
http://www.tsinsen.com/A1333 题意:-- 思路:和之前的第k小几乎一样,只不过把一维BIT换成二维BIT而已.注意二维BIT写法QAQ #include <cstdi ...