KeystoneJS是以Express和MongoDB為基礎(chǔ)搭建的Node.js CMS和web應(yīng)用程序平臺(tái)。
特性
Express.js和MongoDB
Keystone會(huì)為你配置express(node.js事實(shí)上的Web服務(wù)器),用Mongoose(領(lǐng)先的ODM包)連接你的MongoDB數(shù)據(jù)庫(kù)。動(dòng)態(tài)路由
Keystone從設(shè)置MV*程序的最佳實(shí)踐入手,讓你管理模板、視圖和路由變得更容易。數(shù)據(jù)庫(kù)域
ID、String、Boolean、Date和Number是數(shù)據(jù)庫(kù)的構(gòu)件。Keystone以它們?yōu)榛A(chǔ)實(shí)現(xiàn)了在現(xiàn)實(shí)工作中更實(shí)用的域類型,比如name、email、password、address、image和relationship (及其它)自動(dòng)生成管理員界面
不管你在搭建應(yīng)用程序,或者在生產(chǎn)環(huán)境中作為數(shù)據(jù)庫(kù)內(nèi)容管理系統(tǒng)時(shí)是否用它,Keystone的管理員界面都能節(jié)省你的時(shí)間,讓你管理數(shù)據(jù)更容易。編碼更簡(jiǎn)單
有時(shí)即便做的事情簡(jiǎn)單,異步代碼也會(huì)變得復(fù)雜。Keystone讓簡(jiǎn)單的事情(比如在視圖中顯示之前加載數(shù)據(jù))保持簡(jiǎn)單。表單處理
要驗(yàn)證表單、上次圖片或用一行代碼更新數(shù)據(jù)庫(kù)?基于你已經(jīng)定義的數(shù)據(jù)模型,Keystone可以做到。會(huì)話管理
Keystone自帶了會(huì)話管理和認(rèn)證功能,包括密碼域的自動(dòng)加密。發(fā)送Email
借助Keystone,你的應(yīng)用程序可以輕松地設(shè)置、預(yù)覽和發(fā)送基于模板的email。它還集成了Mandrill (Mailchimp卓越的事務(wù)性email發(fā)送服務(wù))
開始
前提是你已經(jīng)安裝了Node和Mongo。
安裝生成器
你將要使用由Yeoman制作的KeystoneJS 生成器。在根目錄運(yùn)行:
$ npm install -g generator-keystone給項(xiàng)目創(chuàng)建一個(gè)文件夾
你可以在任何地方創(chuàng)建項(xiàng)目:
$ mkdir my-test-project
然后進(jìn)入新項(xiàng)目目錄:
$ cd my-test-project運(yùn)行生成器
$ yo keystone
生成器會(huì)問你幾個(gè)問題,主要是你想要什么功能,然后進(jìn)行配置,并把你需要的所有文件復(fù)制到你的項(xiàng)目目錄中。
它還會(huì)從npm中安裝依賴項(xiàng),幫你做好準(zhǔn)備。運(yùn)行項(xiàng)目
你剛剛創(chuàng)建了自己的第一個(gè)KeystoneJS項(xiàng)目,恭喜你!
首先啟動(dòng)mongodb:
$ mkdir ./data/db
$ mongod --dbpath ./data/db
然后運(yùn)行keystone:
$ node keystone
然后打開http://localhost:3000 在瀏覽器中看看。
- 升級(jí)Keystone4
首先,4.0的keystone包為keystone@next
npm install -g generator-keystone
yo keystone
npm uninstall keystone
npm install keystone@next
其次,email變?yōu)榱藛为?dú)的包,添加該擴(kuò)展然后再根據(jù)文檔修改代碼。
npm install --save keystone-email
