在开发手机应用和单页面的应用时需要后端提供json数据供前台解析,有时候后台的逻辑落后于前台的时候,需要使用假数据.在使用React和React-Native的时候,可以直接在UI组件里弄些数据通过state来传递给组件,但是这个方法遇到Redux的时候就有点不好使了,Redux从action到store再到UI Component的单向流动自身是一个测试的重点,所以最好能模拟一个简单的服务器来模拟远程数据的请求过程.
所以考虑这个问题,结合前面我写的一篇文章来做个简单的流程
配置两台node.js服务器
仍然需要启动两个服务器,一个是本地的地址的服务器(localhost,127.0.0.1),另外启动一个代理服务器把本机的分配ip地址转化为本机环回地址.同一网段的机器就可以访问这个服务器了.
稍微有点改动的是,这次需要从文件中返回json数据.
var express = require('express'),
formidable = require('formidable');
fs = require("fs");
MESSAGE_PATH = './database/message.json';//定义文件路径地址
var app = express();
app.get('/', function(req, res) {
//读取文件
var json = JSON.parse(fs.readFileSync(MESSAGE_PATH, 'utf8'));
console.log(json);
//return(json);
res.send(json);//返回数据
});
app.listen(app.get('port'), function(){
console.log( 'Express started on http://localhost:' +
app.get('port') + '; press Ctrl-C to terminate.' );
});
这么做就完了?
当然没有啊!在介绍几个很好的工具来生成和检测json数据
http://www.bejson.com很好的json解析工具
http://www.yyyweb.com/demo/inner-show/json-generator.html
这可是好工具,可以生成数据和数据列表
json-generator
Mac 下paw工具可以很好的测试url.
screenshot_55.jpg
其实更好的办法是采用leancloud或者parseServer来实现这个功能.这两个可以看一个,API基本是完全一样的.
不知道上面的想法的实现还有没有更好的办法?