轻便完善的Web服务,随用随扔的Web服务
ming_node是一个快速搭建web服务,接口测试,日常脚本编写的一个工具集
$ npm i ming_node -D --registry=https://registry.npm.taobao.org
https://unpkg.com/ming_node/index.js
var M=require("ming_node");
var app=M.server();
app.listen(8888);
app.get("/getById",(req,res)=>{
console.log(req.params);
res.send("ok");
})
var M=require("ming_node");
var app=M.server();
app.listen(8888);
// 请求钩子
app.begin((req,res)=>{console.log("req ",req.url)})
// 响应钩子
app.end((d)=>{console.log("res ",d)})
app.get("/setSession",(req,res)=>{
//打印请求ip与cookie
console.log(req.ip,req.cookies)
//设置session
req.session={ss:55}
res.send("ok");
})
app.get("/getSession",(req,res)=>{
//打印session
console.log(req.session)
//设置cookie
res.cookie("username","zs");
res.send("ok");
})
+async function(){
M =await new Promise((v)=>require('https').get("https://minglie.github.io/js/ming_node.js",(q)=>{d='';q.on('data',(a)=>d+=a);q.on('end',()=>v(eval(d)))}))
var app=M.server();
app.listen(8888);
app.get("/",async (req,res)=>{
app.redirect("/index.html",req,res)
})
}();
M=require("ming_node")
//代理配置
M.httpProxy={
host: '127.0.0.1', // 代理 IP
port: 8888, // 代理端口
}
//请求之前拦截器
M.httpBefore = (d) => {console.log(d); return d }
//请求之后拦截器
M.httpEnd = (d) => { console.log("rrrrrr",d)}
//公共 Queryparams
M.reqComQueryparams={userId:123456}
//公共 请求头
M.reqComHeaders={"Content-Type":"application/json"}
//请求cookie,也可以放到M.reqComHeaders里
M.cookie = "JSESSIONID=" + "6E202D5A022EBD62705AA436EC54963B";
//get请求
M.get("http://baidu.com/pagelist",{name:"zs"}).then(d=>{
console.log(d.code)
})
//get请求回调版
M.get("http://baidu.com/pagelist",d=>{
console.log(d.code)
},{name:"huidiao"})
//post请求
M.post("http://baidu.com/a?age=44",{name:"ls"}).then(d=>{
console.log(d)
})
M=require("ming_node")
var app=M.server();
app.listen(8888);
app.get("/baidu",(req,res)=>{
console.log(req.params);
//响应html文本
res.renderHtml("hello woed")
//响应js文本
res.renderJs("alert(5)")
//响应本地文件
res.renderUrl("file:D:/G/ming_node/test/test.html");
//响应百度首页
res.renderUrl("https://www.baidu.com/index.html");
//响应一个网络文件,支持二进制
res.sendFile("https://ming/a.txt");
//响应一个本地文件,支持二进制
res.sendFile("file:C:/Users/a.txt");
//响应一个网络文件,支持二进制,浏览器直接下载
res.sendFile("https://ming/a.txt",true);
//响应一个本地文件,支持二进制,浏览器直接下载
res.sendFile("file:C:/Users/a.txt",true);
})
M=require("ming_node")
var app=M.server();
app.listen(9999);
M.proxyHost="http://127.0.0.1:8888"
M.proxyHost=""
//启用静态资源代理
M.enableProxyStatucResource=true;
//忽略代理的地址
ignoreUrlList=["/","/favicon.ico"]
app.begin(async (req,res)=>{
if(ignoreUrlList.indexOf(req.url)>-1||req.url.startsWith("/_")||req.url.startsWith("/.")){
return;
}
if(req.isStaticRequest()){
if(M.enableProxyStatucResource){
res.renderUrl(M.proxyHost+req.url);
}
return;
}
res.alreadySend = true;
//转换为axios格式
let axiosConfig=await M.getAxiosConfig(req);
console.log("====>",JSON.stringify(axiosConfig))
//发出请求
let result=await M.axios(axiosConfig)
console.log("<======",result)
console.log("---------------------------")
res.send(result);
})
M=require("ming_node")
//代理配置
M.httpProxy={
host: '127.0.0.1', // 代理 IP
port: 8888, // 代理端口
}
//请求之前拦截器
M.httpBefore = (d) => {console.log(d.path); return d }
/**
//本机8888端口 服务端 代码
app.get("/pagelist",async (req,res)=>{
console.log(req.params)
res.send(`{"code":3002,"message":"操作成功","success":true,"data":[{"name":"zs"},{"name":"ls"}]}`)
})
*/
async function main(){
let r=await M.get("http://minglie.github.io/pagelist?name=zs")
for(let i=0;i<r.data.length;i++){
let user= r.data[i];
const {name}=user;
M.log(name);
}
}
main()
var M=require("ming_node");
const Api= require("ming_node/plugins/BaseRpcApi/MemoryBaseRpcApi");
let api = new Api({tableName:"ming",generateTime:true})
var app=M.server();
app.listen(8888);
app.use(api);
https://www.yuque.com/docs/share/fc8547e1-e815-4e50-817c-4829e3c76442?# 《ming_api_mock》
https://minglie.github.io/os/ming_node/
https://www.yuque.com/docs/share/e1f16015-0719-4ffd-9464-a35610389153?# 《ming_node》