API框架:PC端只恨、微信、APP
基礎(chǔ)技術(shù): Javascript異步編程的4種方法http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html
前端相關(guān)技術(shù):
以dva為基礎(chǔ)進行開發(fā)贮尉。使用說明:https://github.com/dvajs/dva/blob/master/README_zh-CN.md
dva繼承了下面的組件
1.React,facebook開源的前端框架,入門教程:http://www.ruanyifeng.com/blog/search.html?cx=016304377626642577906%3Ab_e9skaywzq&cof=FORID%3A11&ie=UTF-8&q=react&sa.x=0&sa.y=0
2.Redux 用于React的狀態(tài)管理組件,使用說明:http://cn.redux.js.org
3.antd 前端UI庫嚷辅,http://ant.design
前端開發(fā)需要用的工具
1.npm:nodejs的包管理工具
2.chrome核心的瀏覽器
服務(wù)器端相關(guān)技術(shù):
- REST服務(wù)組件restify咕痛,主頁:http://restify.com
- 數(shù)據(jù)操作組件Sequeliz痢甘, https://itbilu.com/search 搜索 sequeliz
- restify的集成后臺open-rest,https://open-rest.xiongfei.me
代碼運行:(下面的命令茉贡,在windows機器上塞栅,需要在cmd命令行下執(zhí)行)
1.開發(fā)機器安裝nodejs、npm
2.解壓前端代碼到某個目錄腔丧,在此目錄下執(zhí)行 npm install 安裝第三方組件
3.執(zhí)行 npm run dev 啟動開發(fā)服務(wù)放椰,啟動后,會提醒你服務(wù)端口愉粤,比如:8001
4.解壓服務(wù)器端代碼到某個目錄砾医,在此目錄下執(zhí)行 npm install 安裝第三方組件
5.執(zhí)行 npm install -g nodemon 安裝nodemon工具
6.執(zhí)行 nodemon ./index.js 啟動服務(wù)器端代碼
7.在瀏覽器中輸入 localhost:8001 測試代碼。
注意:
1.前端代碼修改后衣厘,需要刷新頁面如蚜,加載新代碼
2.開發(fā)環(huán)境下,前端代碼配置的服務(wù)器地址头滔,要和你本機匹配怖亭。
前端配置文件: src/utils/config.js
服務(wù)器端端口配置位置:app/configs/config.development.js
前端開發(fā)端口配置:package.json
代碼部署:
1.前端代碼
1.1 首先修改配置文件為正式服務(wù)器地址
1.2 執(zhí)行node run build,會在../build目錄下生成坤检,編譯好的html兴猩、js文件。
1.3 生成的文件中有個文件 index-*******.js早歇,比如:index-fa30b4abdf2739d23923.js
1.4 打開../build/index.html 修改其中的 index.js 為上面的真實文件名倾芝。
1.5 將../build目錄下的文件上傳到服務(wù)器,覆蓋舊文件箭跳。
2.后端代碼
2.1 將后端代碼更新到服務(wù)器
2.2 如果你需要使用了新組件晨另,在服務(wù)器上要使用npm install xx安裝子
2.3 調(diào)試服務(wù)器啟動,nodemon ./index.js(npm install nodemon)
2.3 執(zhí)行 /etc/init.d/gongcheng restart 重啟服務(wù)谱姓,啟用新代碼
系統(tǒng)服務(wù)啟動
- mysql重啟 /etc/init.d/mysql restart
- nginx(負責Web服務(wù))重啟 service nginx restart
- 系統(tǒng)API服務(wù)器重啟 /etc/init.d/wuzi restart (物資) /etc/init.d/gongdan restart (維護) /etc/init.d/gongcheng restart(工程)
- 維護系統(tǒng)的負載均衡借尿。
4.1 基本API處理進程:12服務(wù)器的(/etc/init.d/gongdan),22服務(wù)器的(/etc/init.d/gongdan8082)
4.2 工單查詢進程:22服務(wù)器的兩個進程(/etc/init.d/gongdan80,/etc/init.d/gongdan8083),12服務(wù)器的(/etc/init.d/gongdanUpload)
4.3 工單和小區(qū)數(shù)據(jù)的導(dǎo)出:22服務(wù)器提供兩個進程(/etc/init.d/gongdan8080,/etc/init.d/gongdan80)
問題總結(jié)
location /api_test/ {
proxy_pass http://127.0.0.1:7002/;
檢查后面的/是否匹配。Method Not Allow.的問題。
rm -rf node_modules/_open-rest@8.0.3@open-rest/node_modules/restify
rm -rf node_modules/_open-rest-with-mysql@0.2.0@open-rest-with-mysql/node_modules/sequelize
刪除多余的庫路翻,通過find查找具體位置狈癞,主package與某些插件所需版本不同導(dǎo)致的,安裝了多版本茂契。沒搜到就不管了蝶桶。