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