jsonserver的简单使用(附:使用nodejs快速搭建本地服务器)

小目标      2022-02-13     445

关键词:

作为前端开发人员,经常需要模拟后台数据,我们称之为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服务器就这样搭建好啦!是不是很简单啊~

赶快动手搭建一个自己的本地服务器吧~~~

史上最详细nodejs版本管理器nvm的安装与使用(附注意事项和优化方案)

使用场景在Node版本快速更新迭代的今天,新老项目使用的node版本号可能已经不相同了,node版本更新越来越快,项目越做越多,node切换版本号的需求越来越迫切,传统卸载一个版本在安装另一个版本的方式太过于麻烦,这也是nv... 查看详情

jsonserver 不使用重写器重定向

】jsonserver不使用重写器重定向【英文标题】:jsonservernotredirectingusingrewriter【发布时间】:2021-04-1002:52:01【问题描述】:我有一个employees端点,在我的db.json中有一些数据。我正在使用节点v6.14.9。我的server.js看起来像这样://server... 查看详情

svn和git的使用(附github的简单玩法)

今天简单的总结了下SVN和git的使用,也尝试了下github,应该好好提高下自己的英文水平了,梦想有一天不再使用任何翻译软件。【svn】:集中式的代码管理工具(版本控制工具--版本记录)1》合并代码:团队操作2》版本覆盖冲... 查看详情

使用skynet的一个简单范例,附分析

  之前已经介绍过,skynet只是一个轻量框架,不是一个开箱即用的引擎。能不能用好它,取决于使用者是否清楚知道自己要干什么,如果是用skynet做网络游戏服务器,那么就必须先知道网络游戏服务器应该如何设计。  在sky... 查看详情

使用 StreamWriter 附加文​​本 [重复]

...时间】:2012-02-0922:00:26【问题描述】:这可能是一个非常简单的问题。在C#中,我正在尝试编写一个简单的方法,称为“DebugWrite”方法,将程序中捕获的任何异常写入本地存储的文本文件中。我当前的代码每次只写入一个新文件... 查看详情

nodejs模板引擎jade的简单使用

1.jadehtmlheadstylescriptbodydivullilijade1.jsvarjade=require(‘jade‘);varstr=jade.renderFile(‘./view/1.jade‘,{pretty:true});console.log(str);项目部署: 输出结果: 查看详情

使用nodejs搭建一个简单的web服务器

...务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块、文件系统、url解析模块、路径解析模块、以及301重定向问题,下面我们就简单讲一下如何来... 查看详情

使用 NodeJS 的简单 WebSocket 应用程序

】使用NodeJS的简单WebSocket应用程序【英文标题】:SimpleWebSocketapplicationwithNodeJS【发布时间】:2015-05-1317:17:12【问题描述】:我要做一个简单的WebSocket应用程序等待客户端连接。客户端是Android用户,应用程序本身是两个人的简单... 查看详情

nodejs模板引擎ejs的简单使用

1.ejs<!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title></head><body><%for(vari=0;i<2;i++){%><%include../a.txt%><%}%>< 查看详情

nodejs模板引擎ejs的简单使用

test.ejs<!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title></head><body><%for(vari=0;i<json.arr.length;i++){%><div>用户名:<%=j 查看详情

nodejs中使用express和passport和mongodb的简单登录页面

】nodejs中使用express和passport和mongodb的简单登录页面【英文标题】:Simpleloginpageinnodejsusingexpressandpassportwithmongodb【发布时间】:2013-10-0205:21:26【问题描述】:我在/login使用Jade和Express创建了一个简单的登录表单表单数据通过POST发... 查看详情

使用 NodeJS 向 iOS 应用程序发送推送通知的最简单方法是啥?

】使用NodeJS向iOS应用程序发送推送通知的最简单方法是啥?【英文标题】:What\'sthesimplestwaytosendpushnotificationstoaniOSappusingNodeJS?使用NodeJS向iOS应用程序发送推送通知的最简单方法是什么?【发布时间】:2016-10-2619:22:02【问题描述】... 查看详情

如何使用nodejs搭建一个简单的https服务器(代码片段)

...及安全的原因https是未来的趋势HTTPS的组成HTTPS=HTTP+TLS/SSL简单来说在http上套上了一层加密的ssl层HTTPS的基本原理Nodejs搭建HTTPS服务生成HTTPS证书引入HTTPS模块指定证书位置,并创建https服务实战案例去网上去申请https的证书vimhttps_serv... 查看详情

使用nodejs开发一个最简单的web服务器(代码片段)

开发一个最简单的http服务require引入http模块创建http服务侦听端口实战案例vimserver.js//使用JavaScript最严格的语法,防止出现一些问题'usestrict'//引入http模块varhttp=require("http");//创建一个服务varapp=http.createServer(function(req... 查看详情

简单动态内存分配实现(附代码)

...请所需要大小的内存,函数返回一段内存的首地址。简单来说,动态内存分配的好处在于需要内存的时候可以按需分配,当不需要内存的时候可以将其释放掉,这样可以高效的利用内存。下面本文从零开始实现一... 查看详情

漫谈:一个简单的单线程基于epoll的echo服务器(附简单的性能测试)(代码片段)

为什么使用epoll这个是老生常谈了,四个字,多路复用,要不单线程只能停等排队。另外select和poll不如epoll强大好用。程序结构漫谈代码很简陋,基本属于玩具。但是还是随便谈谈。在单线程模型下使用epoll,只能使用一个epoll的... 查看详情

nodejs实现一个简单的爬虫

nodejs是js语言,实现一个爬出非常的方便。 步骤1.使用nodejs的request模块,获取目标页面的html代码;https://github.com/request/request2.使用cheerio模块对html代码做处理(cheerio类似jQuery的语法,所以好用又方便)https://github.com/cheeriojs/c... 查看详情

简单nodejs爬虫和使用cookie进行模拟登录

...便的。因为nodejs有HTTP模块直接可以使用,而且还有很多简单粗暴的库可以即拿即用。   首先,需要的库文件,   1、superagent是个轻量的的http方面的库,就像jquery的post,和get一样,很简单。   2、... 查看详情