本文目錄一覽:
- 1、hapi的來源
- 2、哈皮是什麼意思
- 3、在node.js領域中哪一個框架用來架構API比較好
- 4、如何選擇Node.js Web開發框架
- 5、現在有哪些 基於node.js的框架
- 6、nodejs中sequelize的create方法默認執行語句中的id,如何去掉(我的數據庫不需要設置id字段)
hapi的來源
本來是HAPPY,但在經過縮寫就成了 hapi,拼音為哈屁,哈是笑的意思,
笑屁。
一般在看到人嘲笑某人,那某人說:你HAPI啊!(你笑屁啊!)。有鄙視的意思!
哈皮是什麼意思
哈皮1.希臘神話女妖
Harpy(哈皮)
希臘神話中的鷹身女妖,長着婦人的頭和身體,長長的頭髮,鳥的翅膀和青銅的鳥爪。傳說哈皮是提豐(Typhon)和厄喀德那(Echinda)的四位女兒——Aello(暴雨)、Celaeno(黑風暴)、Okypete(疾飛)、Podarge(疾行)——的總稱,她們原先是風之精靈,冥王哈德斯的傳令者,負責把死者的靈魂送往冥界。在後來的傳說中她們才成為生性貪婪的鷹身女妖,總是顯得飢餓且疲憊不堪,她們所接觸過的一切東西都會變得污濁不堪,散發臭味。據說這些女妖只害怕一件事物——銅器的聲音。
2.網絡用語
happy的中文諧音,高興、快樂的意思
3.埃及神
Hapi(哈皮)
被埃及人民奉為“尼羅河之神”。掌管尼羅河的泛濫,為人們帶來肥沃的土壤來進行耕種。 [編輯本段]“HAPI”品牌介紹 “HAPI哈皮”品牌是深圳潤穀食品公司自創品牌,從2001年開始在產品包裝上使用,同期,被國家商 標局准為註冊商標。
“HAPI哈皮”品牌創意以時尚快樂生活,創造美味為主導。采意於英文”HAPPY”——開心、快樂之意。
自2002年”HAPI哈皮”品牌產品全面進入國內各大賣場、百貨商超、連鎖便利店等銷售系統,並遠銷歐美、加拿大、俄羅斯、東南亞和中東等國家地區。
在node.js領域中哪一個框架用來架構API比較好
程序 or 框架?
程序是已經成型的應用,你需要的是為它搭建環境、添加配置,然後就可以運行起來;框架則是應用的骨架,你需要為它添加數據模型、業務邏輯,它才能成為應用,開始提供服務。
事實上,對於Web開發來說,程序和框架的區別正越來越模糊,比如幾乎婦孺皆知的Wordpress,它是一個博客程序,但它豐富的插件以及高度的 自定義能夠支持很大程度上的二次開發,在這點上它比起一些PHP框架也並不遜色。我個人認為,如果重心在於提供服務而不是掌握技術,有WordPress 這樣的程序是沒有必要使用框架的。
可惜的是,由於Nodejs還很年輕,目前還沒有WordPress這樣的程序,因此目前在Node.js開發里,如果想做出自己想要的作品,框架是必然的選擇。如果是某些特定類型的應用,可以嘗試一些開源的程序,比如要用Nodejs做博客,有Hexo、Ghost等。
回到頂部
Node.js Web框架有哪些?
Node.js里的Web框架分為API框架和Web應用框架。前者能夠開發出RESTful的API,後者也能開發出RESTful API,但還包括模板、渲染等為前端所準備的功能。
API框架的使用場景是為跨平台應用提供統一的數據模型,而渲染由前端/客戶端自行解決。目前比較知名的API框架有
restify(文檔、Github、NPM)
ActionHero.js(官網、Github、NPM)
LoopBack(官網、Github、NPM)
Frisby(官網、Github、NPM)
Fortune.js(官網、Github、NPM)
Web應用框架顧名思義,就是為了打造Web應用所開發的框架。這裡有兩種風格的Web應用框架。
一個是Sinatra風格,另一個是Rails風格。Sinatra和Rails都是Ruby語言的Web框架,後者的影響力更大也更為知名。這裡簡單的解釋一下兩種風格是什麼意思。
Sinatra風格是指高度可配置,注重開發的自由度。代表性的Nodejs Web框架有:
Express(官網、Github、NPM)TJ大神開發,Node.js官方推薦
hapi(官網、Github、NPM)
koa.js(官網、Github、NPM)
flaliron(官網、Github、NPM)
total.js(官網、Github、NPM)
locomotive(官網、Github、NPM)
Rails風格則是指不重複自己和約定優於配置,以及嚴格遵循MVC結構開發。代表性的框架有:
Sails.js(官網、Github、NPM)
geddy(官網、Github、NPM)
CompoundJS(官網、Github、NPM) 原railswayjs
這兩種風格無所謂誰優誰劣,全憑使用者的偏好。
而在這兩種Web框架之外,還有更大型的框架,即全棧框架,其中的代表是MEAN。
回到頂部
MEAN?
MEAN指MongoDB+Express+Angular.js+Node.js,這一組合包括運行環境、數據庫、Web框架和前端引擎。被稱為 全棧框架(Full-stack framework)。這其中除了Node.js之外,每一個都是可替換的,目標是創建從前端到後端,全部使用javascript的Web應用。
由於這一框架的完善性,有人將其稱為LAMP的接班人。LAMP即PHP的典型運行環境,Linux+Apache+MySql+PHP,被大量的用於各種虛擬主機上。
MEAN看似龐大,但事實上要構建完整的現代化Web應用,特別是SPA(單頁面應用),這幾個組件都是難以缺少的,並且,其中每一項幾乎都是目前 情況下的最佳選擇,因此用於學習和重頭開始打造新的Web應用是非常合適的。但由於實際業務的獨特性,很可能要替換其中的組件,比如用Mysql來替換 MongoDB,因此,學習其中的原理和架構,打造自己的類MEAN框架也是一種選擇。
作為個人和小團隊來說,全棧框架MEAN基本上足夠了,但目前大多數全棧框架還包含一項特性,那就是實時,擁有實時功能的框架我們又稱為實時框架。
回到頂部
實時框架好嗎?
實時框架(Real-time framework)指包含了webSocket的雙向通信功能,能夠在服務器和客戶端做到實時通信的框架。
服務端和客戶端自由通信的需求一直都在,但由於HTTP協議本身的局限性,因此催生了Comet等變通的方法,但即使這樣也離實時相距甚遠。而當 Node.js興起後,另一個HTML5技術webSocket也漸漸成熟,人們突然發現,實時通信一下子變得觸手可及,於是webSocket技術在 Node.js中得到大量的應用,其中最為知名的模塊就是socket.io,而各種全棧框架也紛紛加入實時特性來應對更廣闊的開發需求。
目前有代表性的實時框架有:
Meteor(官網、Github、NPM)
MEAN.io(官網、Github、NPM)
Derby(官網、Github、NPM)
SocketStream(官網、Github、NPM)
不過說實話,目前能看到的實時通信的應用場景其實不多,其中大多集中於聊天室、to-do、實時圖表、在線遊戲等領域。其他領域使用實時特性不但沒必要,而且是對服務器資源的浪費。因此目前是否要採用實時框架,要看具體的項目而定。
以上基本就是Node.js Web框架的現狀了,相信看到這裡,對於選擇何種框架讀者已經心裡有數了吧。最後再介紹一個容易搞混的概念,和解釋一下我的選擇。
回到頂部
YEOMAN?
第一次見到這個詞,我還以為它和MEAN有什麼聯繫。事實上,它們是截然不同的兩個東西。YEOMAN由YO(腳手架)、grunt(構建工具)、bower(包管理器),它代表的是一種工作流,與框架開發的思維方式完全不同。具體的介紹可見這裡。
YEOMAN能夠和框架達到類似的目的,都是為構建一個Web應用做好準備,但是要不要採用YEOMAN,則是見仁見智。我個人的看法是,學習 YEOMAN本身就需要不少時間,並且有一定的學習門檻。至少在目前,使用框架開發還是相對經濟的,而如果以後YEOMAN這種模式推廣開來,再來學習也 不遲,更何況有一定的Node.js項目經驗之後再來學習YEOMAN要輕鬆很多。
事實上,我還是很認可YEOMAN這種Generator+package Manager的模式的,這是因為Node.js本身崇尚微模塊的 概念,即無論是多麼小的功能,都將它們模塊化,甚至大的模塊也要拆分成小的模塊,然後通過搭積木的方式來構建應用。這樣能夠徹底的解耦,對於不容易調試的 Javascript來說,也有助於定位和修復應用中的問題。Generator就是這種理念催生下的產物,通過選擇不同的配置和選項,將積木搭起來。不 過對於這種模式目前大家也還處於實驗當中,不急於進行實際應用。
回到頂部
為什麼我選擇了Hackathon Starter?
在我的個人項目中,使用的是Hackathon Starter,一個Node.js Web應用腳手架。
我使用它的原因是,要求高度可配置,同時又討厭寫一些配置的代碼,因此它對於我來說是很好的選擇。一些全棧框架對我來說,封裝過多,將原生的 Node.js/Express API隱藏掉了,要使用還需要一定的學習成本。而Express這樣的框架又太過簡潔,在實際的項目中使用還需要大量的插件和配置,而這些在 Hackathon Starter中都已經幫我們做好了,同時還有一些示例代碼以供學習,對於新人來說非常友好,可以避免過多的挫折感。
如何選擇Node.js Web開發框架
Node.js非常適用於Web開發,但是現在無論是一個網站,還是Web App都已經成為包括很多不同部分,如前端、數據庫、業務模塊、功能模塊等等的大型項目,使用Node.js從零開始進行Web開發,也許大中型團隊能夠 勝任,但對於個人和小型團隊來說是不現實的。這時候框架就成為Web開發利器,對於個人開發來說幾乎是必不可少。那麼如何選擇Node.js Web開發框架呢?
首先,我們必須要弄清楚的是,我們需要的是——
程序 or 框架?
程序是已經成型的應用,你需要的是為它搭建環境、添加配置,然後就可以運行起來;框架則是應用的骨架,你需要為它添加數據模型、業務邏輯,它才能成為應用,開始提供服務。
事實上,對於Web開發來說,程序和框架的區別正越來越模糊,比如幾乎婦孺皆知的Wordpress,它是一個博客程序,但它豐富的插件以及高度的 自定義能夠支持很大程度上的二次開發,在這點上它比起一些PHP框架也並不遜色。我個人認為,如果重心在於提供服務而不是掌握技術,有WordPress 這樣的程序是沒有必要使用框架的。
可惜的是,由於Nodejs還很年輕,目前還沒有WordPress這樣的程序,因此目前在Node.js開發里,如果想做出自己想要的作品,框架是必然的選擇。如果是某些特定類型的應用,可以嘗試一些開源的程序,比如要用Nodejs做博客,有Hexo、Ghost等。
Node.js Web框架有哪些?
Node.js里的Web框架分為API框架和Web應用框架。前者能夠開發出RESTful的API,後者也能開發出RESTful API,但還包括模板、渲染等為前端所準備的功能。
API框架的使用場景是為跨平台應用提供統一的數據模型,而渲染由前端/客戶端自行解決。目前比較知名的API框架有
restify(文檔、Github、NPM)
ActionHero.js(官網、Github、NPM)
LoopBack(官網、Github、NPM)
Frisby(官網、Github、NPM)
Fortune.js(官網、Github、NPM)
Web應用框架顧名思義,就是為了打造Web應用所開發的框架。這裡有兩種風格的Web應用框架。
一個是Sinatra風格,另一個是Rails風格。Sinatra和Rails都是Ruby語言的Web框架,後者的影響力更大也更為知名。這裡簡單的解釋一下兩種風格是什麼意思。
Sinatra風格是指高度可配置,注重開發的自由度。代表性的Nodejs Web框架有:
Express(官網、Github、NPM)TJ大神開發,Node.js官方推薦
hapi(官網、Github、NPM)
koa.js(官網、Github、NPM)
flaliron(官網、Github、NPM)
total.js(官網、Github、NPM)
locomotive(官網、Github、NPM)
Rails風格則是指不重複自己和約定優於配置,以及嚴格遵循MVC結構開發。代表性的框架有:
Sails.js(官網、Github、NPM)
geddy(官網、Github、NPM)
CompoundJS(官網、Github、NPM) 原railswayjs
這兩種風格無所謂誰優誰劣,全憑使用者的偏好。
而在這兩種Web框架之外,還有更大型的框架,即全棧框架,其中的代表是MEAN。
MEAN?
MEAN指MongoDB+Express+Angular.js+Node.js,這一組合包括運行環境、數據庫、Web框架和前端引擎。被稱為 全棧框架(Full-stack framework)。這其中除了Node.js之外,每一個都是可替換的,目標是創建從前端到後端,全部使用javascript的Web應用。
由於這一框架的完善性,有人將其稱為LAMP的接班人。LAMP即PHP的典型運行環境,Linux+Apache+MySql+PHP,被大量的用於各種虛擬主機上。
MEAN看似龐大,但事實上要構建完整的現代化Web應用,特別是SPA(單頁面應用),這幾個組件都是難以缺少的,並且,其中每一項幾乎都是目前 情況下的最佳選擇,因此用於學習和重頭開始打造新的Web應用是非常合適的。但由於實際業務的獨特性,很可能要替換其中的組件,比如用Mysql來替換 MongoDB,因此,學習其中的原理和架構,打造自己的類MEAN框架也是一種選擇。
作為個人和小團隊來說,全棧框架MEAN基本上足夠了,但目前大多數全棧框架還包含一項特性,那就是實時,擁有實時功能的框架我們又稱為實時框架。
實時框架好嗎?
實時框架(Real-time framework)指包含了webSocket的雙向通信功能,能夠在服務器和客戶端做到實時通信的框架。
服務端和客戶端自由通信的需求一直都在,但由於HTTP協議本身的局限性,因此催生了Comet等變通的方法,但即使這樣也離實時相距甚遠。而當 Node.js興起後,另一個HTML5技術webSocket也漸漸成熟,人們突然發現,實時通信一下子變得觸手可及,於是webSocket技術在 Node.js中得到大量的應用,其中最為知名的模塊就是socket.io,而各種全棧框架也紛紛加入實時特性來應對更廣闊的開發需求。
目前有代表性的實時框架有:
Meteor(官網、Github、NPM)
MEAN.io(官網、Github、NPM)
Derby(官網、Github、NPM)
SocketStream(官網、Github、NPM)
不過說實話,目前能看到的實時通信的應用場景其實不多,其中大多集中於聊天室、to-do、實時圖表、在線遊戲等領域。其他領域使用實時特性不但沒必要,而且是對服務器資源的浪費。因此目前是否要採用實時框架,要看具體的項目而定。
以上基本就是Node.js Web框架的現狀了,相信看到這裡,對於選擇何種框架讀者已經心裡有數了吧。最後再介紹一個容易搞混的概念,和解釋一下我的選擇。
YEOMAN?
第一次見到這個詞,我還以為它和MEAN有什麼聯繫。事實上,它們是截然不同的兩個東西。YEOMAN由YO(腳手架)、grunt(構建工具)、bower(包管理器),它代表的是一種工作流,與框架開發的思維方式完全不同。具體的介紹可見這裡。
YEOMAN能夠和框架達到類似的目的,都是為構建一個Web應用做好準備,但是要不要採用YEOMAN,則是見仁見智。我個人的看法是,學習 YEOMAN本身就需要不少時間,並且有一定的學習門檻。至少在目前,使用框架開發還是相對經濟的,而如果以後YEOMAN這種模式推廣開來,再來學習也 不遲,更何況有一定的Node.js項目經驗之後再來學習YEOMAN要輕鬆很多。
事實上,我還是很認可YEOMAN這種Generator+package Manager的模式的,這是因為Node.js本身崇尚微模塊的 概念,即無論是多麼小的功能,都將它們模塊化,甚至大的模塊也要拆分成小的模塊,然後通過搭積木的方式來構建應用。這樣能夠徹底的解耦,對於不容易調試的 Javascript來說,也有助於定位和修復應用中的問題。Generator就是這種理念催生下的產物,通過選擇不同的配置和選項,將積木搭起來。不 過對於這種模式目前大家也還處於實驗當中,不急於進行實際應用。
現在有哪些 基於node.js的框架
Node.js非適用於Web發現論網站Web App都已經包括同部前端、數據庫、業務模塊、功能模塊等等型項目使用Node.js零始進行Web發許型團隊能夠 勝任於型團隊說現實候框架Web發利器於發說幾乎必少何選擇Node.js Web發框架呢
首先我必須要弄清楚我需要——
程序 or 框架
程序已經型應用需要搭建環境、添加配置運行起;框架則應用骨架需要添加數據模型、業務邏輯才能應用始提供服務
事實於Web發說程序框架區別越越模糊比幾乎婦孺皆知Wordpress博客程序豐富插件及高度 自定義能夠支持程度二發點比起些PHP框架並遜色我認重於提供服務掌握技術WordPress 程序沒必要使用框架
惜由於Nodejs輕目前沒WordPress程序目前Node.js發想做自想要作品框架必選擇某些特定類型應用嘗試些源程序比要用Nodejs做博客Hexo、Ghost等
Node.js Web框架哪些
Node.jsWeb框架API框架Web應用框架前者能夠發RESTfulAPI者能發RESTful API包括模板、渲染等前端所準備功能
API框架使用場景跨平台應用提供統數據模型渲染由前端/客戶端自行解決目前比較知名API框架
restify(文檔、Github、NPM)
ActionHero.js(官網、Github、NPM)
LoopBack(官網、Github、NPM)
Frisby(官網、Github、NPM)
Fortune.js(官網、Github、NPM)
Web應用框架顧名思義打造Web應用所發框架兩種風格Web應用框架
Sinatra風格另Rails風格SinatraRails都Ruby語言Web框架者影響力更更知名簡單解釋兩種風格意思
Sinatra風格指高度配置注重發自由度代表性Nodejs Web框架:
Express(官網、Github、NPM)TJ神發Node.js官推薦
hapi(官網、Github、NPM)
koa.js(官網、Github、NPM)
flaliron(官網、Github、NPM)
total.js(官網、Github、NPM)
locomotive(官網、Github、NPM)
Rails風格則指重複自約定優於配置及嚴格遵循MVC結構發代表性框架:
Sails.js(官網、Github、NPM)
geddy(官網、Github、NPM)
CompoundJS(官網、Github、NPM) 原railswayjs
兩種風格所謂誰優誰劣全憑使用者偏
兩種Web框架外更型框架即全棧框架其代表MEAN
MEAN
MEAN指MongoDB+Express+Angular.js+Node.js組合包括運行環境、數據庫、Web框架前端引擎稱 全棧框架(Full-stack framework)其除Node.js外每都替換目標創建前端端全部使用javascriptWeb應用
由於框架完善性其稱LAMP接班LAMP即PHP典型運行環境Linux+Apache+MySql+PHP量用於各種虛擬主機
MEAN看似龐事實要構建完整現代化Web應用特別SPA(單頁面應用)幾組件都難缺少並且其每項幾乎都目前 情況佳選擇用於習重始打造新Web應用非合適由於實際業務獨特性能要替換其組件比用Mysql替換 MongoDB習其原理架構打造自類MEAN框架種選擇
作團隊說全棧框架MEAN基本足夠目前數全棧框架包含項特性實擁實功能框架我稱實框架
實框架
實框架(Real-time framework)指包含webSocket雙向通信功能能夠服務器客戶端做實通信框架
服務端客戶端自由通信需求直都由於HTTP協議本身局限性催Comet等變通即使離實相距甚遠 Node.js興起另HTML5技術webSocket漸漸熟突發現實通信變觸手及於webSocket技術 Node.js量應用其知名模塊socket.io各種全棧框架紛紛加入實特性應更廣闊發需求
目前代表性實框架:
Meteor(官網、Github、NPM)
MEAN.io(官網、Github、NPM)
Derby(官網、Github、NPM)
SocketStream(官網、Github、NPM)
說實目前能看實通信應用場景其實其集於聊室、to-do、實圖表、線遊戲等領域其領域使用實特性沒必要且服務器資源浪費目前否要採用實框架要看具體項目定
基本Node.js Web框架現狀相信看於選擇何種框架讀者已經數吧再介紹容易搞混概念解釋我選擇
YEOMAN
第見詞我MEAN聯繫事實截同兩東西YEOMAN由YO(腳手架)、grunt(構建工具)、bower(包管理器)代表種工作流與框架發思維式完全同具體介紹見
YEOMAN能夠框架達類似目都構建Web應用做準備要要採用YEOMAN則見仁見智我看習 YEOMAN本身需要少間並且定習門檻至少目前使用框架發相經濟YEOMAN種模式推廣再習 遲更何況定Node.js項目經驗再習YEOMAN要輕鬆
事實我認YEOMAN種Generator+package Manager模式Node.js本身崇尚微模塊 概念即論功能都模塊化甚至模塊要拆模塊通搭積木式構建應用能夠徹底解耦於容易調試 Javascript說助於定位修復應用問題Generator種理念催產物通選擇同配置選項積木搭起 於種模式目前家處於實驗急於進行實際應用
nodejs中sequelize的create方法默認執行語句中的id,如何去掉(我的數據庫不需要設置id字段)
nodejs中sequelize的create方法默認執行語句中的id,如何去掉(我的數據庫不需要設置id字段)
用的nodejs web框架是團隊統一的hapi.js,而數據庫依然是mysql,ORM 框架選用有着6000+ stars 的 sequelize.js,hapi-sequelize插件對sequelize做了很簡單的封裝,可以讓我們很自如地在hapi中遊走,比如配置和調用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/197303.html