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