摘要:基本功能提供小說操作相關(guān)的所有提供登錄注冊相關(guān)實現(xiàn)驗證碼定期自動更新小說爬蟲部署運行即可實現(xiàn)一鍵部署。如果還想更近一步的實現(xiàn)自動部署的話,可以試試開源免費。
項目地址 前言
作為一個優(yōu)秀前端er,除了要精通前端基礎(chǔ)外,其他的如后臺,運維,linux等都要有所了解。這樣你才能對自己所負(fù)責(zé)的項目有一個整體的把握,不同端開發(fā)思維的碰撞,有助于你形成良好的代碼習(xí)慣,寫出高效優(yōu)質(zhì)的代碼。話不多說,我們開始吧!
背景這是個學(xué)習(xí)型的項目,還有些需要優(yōu)化的地方,項目是參考 https://github.com/dlyt/YCool , 利用dva代替redux(個人認(rèn)為dva比redux好學(xué)啊有木有,覺得redux概念不好理解的完全可以從dva入手啊,學(xué)完dva,redux秒懂), 然后新增了一些功能。利用工作之余的時間寫出來,希望能幫助到大家~
目錄結(jié)構(gòu). ├── wu-server // 后臺服務(wù) │?? ├── Dockerfile // dockfile │?? ├── README.md │?? ├── bin // 入口文件 │?? │?? └── server.js │?? ├── config // 配置目錄 │?? │?? ├── env │?? │?? ├── index.js │?? │?? └── passport.js // 登錄認(rèn)證服務(wù) │?? ├── index.js │?? ├── nginx.conf // nginx 配置 │?? ├── package-lock.json │?? ├── package.json │?? ├── release.sh // 一鍵部署shell腳本 │?? └── src │?? ├── middleware // 中間件 │?? ├── models // mongo model │?? ├── modules // 接口目錄 │?? └── utils // 公用工具 └── wyfReader // app端 ├── App.js ├── __tests__ │?? └── App.js ├── app │?? ├── containers // UI組件 │?? ├── images │?? ├── index.js │?? ├── libs // 公用庫 │?? ├── models // dva models │?? ├── router.js // 路由 │?? ├── services // 接口服務(wù) │?? └── utils ├── app.json ├── index.js ├── jsconfig.json ├── package-lock.json ├── package.json └── yarn.lock前端
即RN項目,僅做了ios端的兼容(偷個懶^-^)。完全版的dva包含了react-router,我們這邊不需要,所以只用了dva-core
基本功能:
效果圖小說搜索,動態(tài)結(jié)果列表顯示,支持模糊搜索。
加入書架,閱讀,小說刪除功能
登錄注冊功能,node實現(xiàn)驗證碼
框架采用的koa2,passport作為登錄認(rèn)證,cheerio實現(xiàn)爬蟲。
基本功能:
部署提供小說操作相關(guān)的所有api
提供登錄注冊相關(guān)api
node實現(xiàn)svg驗證碼
定期自動更新小說爬蟲
運行sh release.sh即可實現(xiàn)一鍵部署。
流行的有兩種方案:pm2和docker,現(xiàn)在docker這么流行,咱果斷選擇它,寫了一個自動構(gòu)建腳本:release.sh
大概流程就是: 把代碼上傳到自己主機(jī)上面 > 構(gòu)建鏡像 > 然后以守護(hù)進(jìn)程方式運行。
如果還想更近一步的實現(xiàn)自動部署的話,可以試試travis CI 開源免費。它可以通過git的鉤子,直接在提交到git的時候自動運行構(gòu)建腳本
nginx 了解一下它是一個高性能的HTTP和反向代理服務(wù)區(qū)。學(xué)習(xí)成本很低,這里咱只是簡單的用nginx做了一下代理。
server { listen 80; location / { root /opt/html; index index.html index.html; } location /server/ { expires -1; add_header Cache-Control no-cache,no-store; proxy_pass http://120.79.161.255:8080/; } }
就是原先咱需寫端口訪問如: http://120.79.161.255:8080/ 現(xiàn)在直接訪問http://120.79.161.255/server/ 即可,是不是變漂亮了很多?
當(dāng)然nginx遠(yuǎn)不止這點功能,比如你可以用它做負(fù)載均衡、解決跨域問題、處理緩存 防盜鏈等HTTP相關(guān)問題,處理起來也很容易,只需在配置文件加上相關(guān)配置即可,有興趣朋友可以深入一下。不過話說現(xiàn)在service mesh好像比較流行,Envoy好像想取代它的樣子~~哈哈,扯遠(yuǎn)了~
總結(jié)
總的來說這個項目算是一個全棧練手項目,也沒有花多長時間。有些地方還是有點粗糙的,
但是不妨礙大家學(xué)習(xí)。還有些概念和工具只是大概提了一下,目的是給初學(xué)的朋友留下一個印象(萬一今后有用到呢~)。感興趣的朋友可以基于這個多多優(yōu)化,加上自己idea。最后,歡迎star & fork!!!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/27341.html
摘要:毫不夸張的說,前端的演化歷史和成功,是工程師不斷突破桎梏邁向本我的探索旅程。前端是由什么語言組成的前端開發(fā)技術(shù),從狹義的定義來看,是指圍繞這樣一套體系的開發(fā)技術(shù),它的運行宿主是瀏覽器。 showImg(http://7xi8kv.com5.z0.glb.qiniucdn.com/dalibao.jpg); 「Docker 開發(fā)大禮包」已經(jīng)到了第三季。 「JavaScript:世界上最被...
摘要:毫不夸張的說,前端的演化歷史和成功,是工程師不斷突破桎梏邁向本我的探索旅程。前端是由什么語言組成的前端開發(fā)技術(shù),從狹義的定義來看,是指圍繞這樣一套體系的開發(fā)技術(shù),它的運行宿主是瀏覽器。 showImg(http://7xi8kv.com5.z0.glb.qiniucdn.com/dalibao.jpg); 「Docker 開發(fā)大禮包」已經(jīng)到了第三季。 「JavaScript:世界上最被...
摘要:在貓屎氤氳的霧氣里角仰望天花板,手機(jī)微信提醒這次構(gòu)建成功或失敗,并附帶污言穢語。這時他可以開始往工位走,坐下時,微信又會提醒本次部署到成功或失敗。與企業(yè)微信的集成在決定使用之前,需要知道的是,是一個高度依賴社區(qū)的項目。 前言 相信我,一切事情的發(fā)生都是趕鴨子上架,沒有例外。人類所有偉大的變革都是迫不得已,可又是那么順其自然。比如容器(docker)技術(shù)的誕生,比如箭在弦上的創(chuàng)業(yè),比如野...
閱讀 1483·2023-04-25 15:40
閱讀 2834·2021-08-11 11:15
閱讀 2273·2019-08-26 13:48
閱讀 2844·2019-08-26 12:18
閱讀 2448·2019-08-23 18:23
閱讀 2905·2019-08-23 17:01
閱讀 2978·2019-08-23 16:29
閱讀 1101·2019-08-23 15:15