json server的简单使用(附:使用nodejs快速搭建本地服务器)
作为前端开发人员,经常需要模拟后台数据,我们称之为mock。通常的方式为自己搭建一个服务器,返回我们想要的数据。json server 作为工具,因为它足够简单,写少量数据,即可使用。
安装
首先需要安装nodejs,建议使用最新版本。然后全局安装json server.
npm install json-server -g
安装完成后可以用
json-server -h
命令检查是否安装成功,成功后会出现json-server相关的参数选项。
运行
安装完成后,可以在任一目录下建立一个 xxx.json 文件,例如在 mock/ 文件夹下,建立一个 db.json 文件,并写入以下内容,
{
"news": [
{
"id": 1,
"title": "曹县宣布昨日晚间登日成功",
"date": "2016-08-12",
"likes": 55,
"views": 100086
},
{
"id": 2,
"title": "长江流域首次发现海豚",
"date": "2016-08-12",
"likes": 505,
"views": 9800
}
],
"comments": [
{
"id": 1,
"news_id": 1,
"data": [
{
"id": 1,
"content": "支持党中央决定"
},
{
"id": 2,
"content": "抄写党章势在必行!"
}
]
}
]
}
并在 mock/ 文件夹下执行:
json-server -w db.json -p 3003
操作数据
GET
这个时候访问 http://localhost:3003/db 可以查看 db.json 文件中所定义的全部数据。
使用浏览器地址栏,jQuery.get 或 fecth({method: "get"}) 访问 http://localhost:3003/news ,则可以看到 news 对象下的数据,以Array格式返回:
[
{
"id": 1,
"title": "曹县宣布昨日晚间登日成功",
"date": "2016-08-12",
"likes": 55,
"views": 100086
},
{
"id": 2,
"title": "长江流域首次发现海豚",
"date": "2016-08-12",
"likes": 505,
"views": 9800
}
]
POST
以jquery的 $.ajax 方法举例,以下代码会实时的向 db.json 中的 news 对象push一条新的数据再次用 get 方式访问http://localhost:3003/news , 就可以看到它了
$.ajax({ type: 'post', url: 'http://localhost:3003/news', data: { "id": 3, "title": "我是新加入的新闻", "date": "2016-08-12", "likes": 0, "views": 0 } }
使用动态数据
使用 db.json 作为数据载体,虽然方便,但是如果需要大量的数据,则显得力不从心。
幸好 json server 可以通过js动态生成json格式数据,官方例子为生成1000组user数据:
# /mock/db.js
module.exports = function() {
var data = {
users: []
}
for (var i = 0; i < 1000; i++) {
data.users.push({
id: i,
name: 'user' + i
})
}
return data
}
/mock 目录下运行
json-server db.js -p 3003
我们访问 http://localhost:3003/news/ 看到的数据是
[
{
"id": 0,
"name": "user0"
},
{
"id": 1,
"name": "user1"
},
{
"id": 2,
"name": "user2"
},
{
"id": 3,
"name": "user3"
},
...
{
"id": 999,
"name": "user999"
}
]
以上内容大部分来自于网上其他网友的总结,此处只是方便日后自己查看。
附:
作为前端开发人员,有些时候需要搭建一个本地服务器!传统搭建服务器的操作比较繁杂,比如需要安装apache软件等。在此给大家介绍一种比较简单的的搭建本地服务器的方法。
1、安装最新版的nodejs。
2、安装好nodejs之后,打开cmd窗口, 输入
npm install anywhere -g
全局安装anywhere依赖包。
3、在cmd中进入到需要搭建服务器的目录中(目录最好不要有中文),输入
anywhere 8080
此处的端口号可以根据自己的实际情况来指定,命令执行成功之后浏览器就会自动打开本地服务器目录,一个简单的node服务器就这样搭建好啦!是不是很简单啊~
赶快动手搭建一个自己的本地服务器吧~~~
json server的简单使用(附:使用nodejs快速搭建本地服务器)的更多相关文章
- 如何使用nodejs快速搭建本地服务器
1.首先要安装好node,js 2.以下有安装包下载的链接:这里的安装包是.msi,如果要其他的,可以到菜鸟教程上去找 32 位安装包下载地址 : https://nodejs.org/dist/v4 ...
- 利用nodeJs anywhere搭建本地服务器环境【转载】
首先去nodeJs官网下载最新版nodeJs https://nodejs.org/en/ 安装成功后win+r打开cmd 输入node -help 或者node -v查看是否安装成功 装好后 ...
- 利用nodeJs anywhere搭建本地服务器环境
1.npm install anywhere -g 如果是mac系统会提示你权限不够,需要在代码前加上 sudo获取管理员权限.即sudo npm install anywhere -g. 2.安装完 ...
- 拿nodejs快速搭建简单Oauth认证和restful API server攻略
拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...
- nodejs anywhere 搭建本地静态文件服务
一.背景 工作中有时候往往会遇到下述场景:例如需要将新打好的安装包等文件临时性的给到同事,可能还需要给到多个同事.这时,我们往往有如下几种方案: 1,一般都会有公司内部的文件系统,上传文件后将对应的地 ...
- 用nodejs http-server搭建本地服务环境
一.本地环境,不包括域名的方法: https://www.npmjs.com/package/http-server(参考手册) 正确使用方法:
- nodeJS搭建本地服务器
准备工作: 安装Node JS: 1:安装全局express:在express4.x版本中,安装时语句变为了这样: npm install -g express-generator 2:创建项目: 选 ...
- Ubuntu Server 下快速搭建DLNA服务器
购买了一台二手服务器.用来存储重要图片,视频,代码文档等.突发奇想是否可以让电视访问服务器. 经过一番查找,最终确认三星电视支持DLNA协议.大家对minidlna 都比较看好.就试着搭建这个服务器, ...
- 巨杉Tech | 使用 SequoiaDB + Docker + Nodejs 搭建 Web 服务器
容器化技术的出现大大简化了应用开发人员在构建底层基础设施的工作.SequoiaDB 巨杉数据库于3.2.1版本正式推出了 Docker 容器化部署方案,本文将会基于 SequoiaDB 巨杉数据库与N ...
随机推荐
- zedboard开发板上移植opencv代码(立体匹配)
前言 公司要做立体匹配相关的项目,已有matlab和c++版本,可是不能做到实时显示立体信息,想要硬件实现实时,无奈本渣也是个硬件的新手,先按照实验室lyq同学的思路在zedboard开发板的纯ARM ...
- directive例子2
(function() { angular.module('app.widgets') .directive('bsModalPlus', function($window, $sce, $modal ...
- unity ugui Toggle Group详解(Chinar出品、简单易懂)
UGUI Toggle Group用法教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar ...
- js获取当前时间戳的三个方法
var time1 = Date.parse(new Date()); var time2 = new Date().valueOf(); var time3 = new Date().getTime ...
- int &p
int &p为引用,而int p为定义变量.二者区别如下:1 引用在定义的时候必须赋值,否则编译会出错.正确的形式为int &p = a;其中a为int型变量.2 引用在定义时不会分配 ...
- hdu3488 Tour 拆点+二分图最佳匹配
In the kingdom of Henryy, there are N (2 <= N <= 200) cities, with M (M <= 30000) one-way r ...
- day29akka
PS:AKKA之前要实现并发编程,通常要借用netty框架,现在如果又要高并发又要分布式就使用akka框架这个akka在客户端和服务端每一端都相当于一个actor,尤其是服务端需要一个总管进行管理 P ...
- log4net 自定义日志级别记录多个日志
程序中原来只记录一个日志,现在我要写一个用户操作日志,需要与原来的日志分开,在config文件中一阵折腾无果(要么写不全,要么写重了,反正没办法完美分离,要么与现存代码没办法完美兼容),差点放弃准备自 ...
- MongoDB内存配置 --wiredTigerCacheSizeGB
用top命令查看系统占用内存的情况 top -p $(pidof mongod),发现mongod占用了8G内存的35.6%.在服务器上运行两个mongod进程,很容易导致mongod异常退出. 一度 ...
- nginx实现nginx/tomcat负载均衡
准备三台centos7虚拟机,全部安装nginx或者tomcat 虚拟机A 10.0.3.46 在index.html 中添加10.0.3.46作为标志 虚拟机B 10.0.3.66 ...