『壹』 基於Node.JS, MongoDB的開源IM聊天框架Spika
發現一款強大的開源聊天框架 Spika 。 它不僅提供iOS,android,Web端的源碼,還有後端的源碼,都是開源的。Spika的提供者是來自克羅埃西亞的一家移動APP公司 Clover Studio 感謝他們的團隊把這個項目從頭到腳都開源了。
相對於傳統的LAMP(LINUX, APACHE, MYSQL,PHP), Node.js + MongoDB 是一種比較新的後端組合。Google自己的聊天平台Google Messaging Cloud(GMC)就是基於Node.JS+MongoDB實現的。
廢話不多說,開始使用吧!
安裝伺服器端
1.環境配置。 官網 上提供的是Ubuntu14.04版的配置過程。見下圖:
由於我用的伺服器是Amazon Linux,用yum來安裝。
git clone git://github.com/nodejs/node.git
cd node
git checkout v4.4.7
./configure
make
sudo make install
sudo su
vi /etc/sudoers
:/usr/local/bin```
3.安裝imagemagick
5.安裝Spika
6.安裝gulp
sudo npm install gulp -g
7.編寫配置文件
把Config.host和port的值設為自己伺服器的hostname和port, 把Config.chatDatabaseUrl的值改為mongoDB的路徑。最好用1024以上的port。mongoDB如果沒有修改安全選項的話,最好用127.0.0.1。
8 . 運行項目
這時候可能會報錯
找不到jsdoc。 解決方法:
然後再次運行
開啟伺服器
node src/server/main.js
這個時候用瀏覽器登陸
主機號:埠號/spika
就可以開始聊天啦!
除了web版,它還有android和ios版,下次再嘗試吧:)
『貳』 修改node_mole中的包,卻不受重新安裝的影響
修改別人的源碼往往有這幾個方式:
顯而易見,上面這兩種方法既不優雅,也不可靠。作為程序員的我們豈能被這事兒給難住,開源社區早已給我們准備好了解決方案:patch-package [1]
通過cra開啟一個項目
給項目@alifd/next(ui庫)、patch-package、postinstall-postinstall(使用yarn安裝時需要安裝,npm無需安裝此依賴)
給 package.json文件中添加腳本命令( 非常重要,無論我們使用yarn還是npm,在整體安裝結束後都會自動執行該命令,對node_moles中的包打補丁 )
我們引入組件button,並查看組件當前結構
我們去node_mole中修改button源碼
我們在看看頁面情況(如果沒有效果的話,可以重啟一下服務 )
<figcaption mp-original-font-size="14" mp-original-line-height="22.399999618530273" style="margin: 5px 0px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; text-align: center; color: rgb(221, 165, 45); font-size: 14px; line-height: 22.399999618530273px;">result.png</figcaption>
修改完並且也生效了,我們就要開始打補丁了,運行命令 yarn patch-package package-name
成功後你會看到根目錄多了一個patches文件夾,裡麵包含了你修改的npm包的patch文件。點開可以很清楚的看到你都做了哪些修改。 文件名中的1.22.21就是依賴包的版本號,表示這個補丁只對1.22.21版本的插件生效
刪除node_mole並重新安裝
依賴包安裝完成後可以在命令行中看到補丁被應用(倒數後5行)
yarn start 重新啟動,查看審查元素,依舊是a標簽!