首先下載安裝Node.js,而後運行如下命令安裝justreq命令行工具javascript
npm install -g justreq-cli
運行如下命令安裝主程序php
npm install justreq
運行如下命令進行初始化css
justreq init
配置完成後,將在當前目錄生成「.justreq」文件,你能夠隨時按本身需求進行配置html
運行如下命令啓動justreq前端
justreq start
而後把你的接口地址直接指向justreq服務(JR Server),例如:java
// const API_HOST = "https://test.youhost.com"; const API_HOST = "http://127.0.0.1:8000"; $.get(API_HOST + "/getInfo.do?userId=1001", func);
若是須要在啓動的同時更新緩存,能夠用如下命令node
justreq start -c
若是接口地址臨時改動了,而你又不想修改配置文件,能夠用如下命令git
justreq start -h temp.yourhost.com
可運行以下命令查看更多命令行參數github
justreq start --help
接下來要鄭重推薦咱們首創的jrs腳本了。該腳本基於javascript,所以你徹底不須要任何學習成本便可上手。先來一段:正則表達式
// getUser.jrs var userId = $_GET['userId']; var users = { 1001 : {name:'zhangsan', age: 22}, 1002 : {name:'lily', age: 21} }; var user = users[userId]; setCookie('userName', user.name); echo(JSON.stringify(user)); end();
除了你所熟知的javascript對象外,咱們新增長了一些必要的全局函數、屬性
name | description |
---|---|
$_GET | 獲取querystring |
$_POST | 獲取POST方式提交的表單數據 |
$_COOKIE | 獲取cookies |
$_HEADER | 獲取header |
$_FILES | 獲取表單上傳的文件。注意,如須要上傳文件,須將form編碼方式設置爲enctype=」multipart/form-data」 |
name | description |
---|---|
echo(string) | 向頁面輸出字符串 |
end([string]) | 結束當前腳本,輸出字符串爲可選參數。注:請務必使用該方法結束腳本,不然腳本將運行至超時 |
sendFile(filepath) | 也可直接使用文件作爲輸出。使用該方法時,沒必要再使用end() 結束腳本 |
setMime(suffix) | 設置當前輸出的mimetype;缺省將嘗試json,如自動檢測不經過,將切換爲txt。可選值爲:txt、html、css、xml、json、js、jpg、jpeg、gif、png、svg。如需設置其它類型,可直接使用setHeader函數設置「Content-Type」 |
setCookie(name, value) | 設置輸出的cookies。完整參數:setCookie(name, value [, expires [, path [, domain [, secure [, httponly]]]]]) |
setHeader(name, value) | 設置header,其中’Server’、’Date’由JR Server自動設置,不容許修改 |
因爲jrs腳本徹底基於js,並運行於Node.js環境,所以,你可使用Node.js下面的一切優秀模塊來進行開發。
而且,只要你的Node.js版本支持,你也可使用ES6/ES7來編寫jrs
爲了更好的發揮justreq的功能,咱們提供了一些配置規則
name | description |
---|---|
href | 接口路徑,必填。可使用正則表達式 |
ignoreArgs | 可忽略字段,以逗號分割,能夠忽略一些非關鍵字段。例如跳過常見的防緩存的?v=1483884433384 ,則設置 {"ignoreArgs" : "v"} |
noCache | 不容許緩存該接口,缺省值爲容許 |
subs | 接口替身,推薦使用咱們的jrs腳本,也能夠是json、txt |
如下是一份樣例:
// .justreq
{
...
"rules": [ { "href": "user.do", "subs": "user.jrs" }, { "href": "login.do", "noCache": true }, { "href": "getGoodsInfo.do", "ignoreArgs": "v,token,timestamp" } ] }
name | description |
---|---|
host | 必須。將要代理的接口服務器主機名 |
port | 可選。將要代理的接口服務器端口,默認80。(如設爲443,而且沒有配置proxyHttps選項,將自動切換爲https方式鏈接接口服務器) |
cacheTime | 可選。多久更新緩存,默認20分鐘 |
cachePath | 可選。緩存存放路徑,默認.jr/cache |
substitutePath | 可選。替身文件存放路徑,默認.jr/subs |
jrPort | 可選。JR Server服務端口,默認8000 |
proxyTimeout | 可選。請求接口超時時間,默認6秒 |
proxyHttps | 可選。所請求的接口是否https,可選值爲:auto、yes、no。默認auto(檢測port是否443)。 |
ssl_ca | 可選。若是接口是https,而且須要數字證書,可以使用該選項指定ca.pem存放地址 |
ssl_key | 可選。若是接口是https,而且須要數字證書,可以使用該選項指定key.pem存放地址 |
ssl_cert | 可選。若是接口是https,而且須要數字證書,可以使用該選項指定cert.pem存放地址 |
onCors | 可選。是否開啓cors跨域,可選值爲:yes、no,默認yes |
rules | 可選。參照RULES配置 |
詳情請參考社區:https://github.com/vilien/justreq