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 ...
随机推荐
- nginx php
server { listen 443; server_name www.awkj.com; ssl on; ssl_certificate cert/214683879970617.pem; ssl ...
- 【转载】 DeepMind用ReinforcementLearning玩游戏
原文地址: https://blog.csdn.net/wishchin/article/details/42425145 原文 : http://dataunion.org/?p=639 1.引言 ...
- Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at xxxx/usr/bin/automake line 3939.
/********************************************************************** * Unescaped left brace in re ...
- [LeetCode&Python] Problem 21. Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- python time模块使用笔记(更新)
import time 添加time模块 关于时间和时间戳: 时间是指日常生活中用的,如某年某月某日 时间戳是一个时间长度,是时间关于一个初始时间(好像是1970.1.1)的秒数 localtime方 ...
- Python 3 运行 shell 命令
#python 3.5 , win10 引入包 #os.chdir('path') import osimport subprocess #https://docs.python.org/3.5/li ...
- 监控页面后退前进,浏览器文档加载事件之pageshow、pagehide
https://www.cnblogs.com/milo-wjh/p/6811868.html http://www.runoob.com/jsref/event-onpageshow.html on ...
- codeforce 804B Minimum number of steps
cf劲啊 原题: We have a string of letters 'a' and 'b'. We want to perform some operations on it. On each ...
- nginx配置.htaccess伪静态
https://blog.csdn.net/moqiang02/article/details/37695775
- win10开移动热点让手机使用上网
PC得买个无线网卡带尾部那种的,插后面,有了无线网卡能力了. 然后开启移动热点: 在设备管理器里面去,找到网络适配器,选择带有Wireless的那个,更新驱动,浏览计算机查找,从计算机的设备驱动表选取 ...