KeystoneJS介紹 — 基于Express和Mongo的CMS系統(tǒng)

KeystoneJS是以Express和MongoDB為基礎(chǔ)搭建的Node.js CMS和web應(yīng)用程序平臺(tái)。

特性

  1. Express.js和MongoDB
    Keystone會(huì)為你配置express(node.js事實(shí)上的Web服務(wù)器),用Mongoose(領(lǐng)先的ODM包)連接你的MongoDB數(shù)據(jù)庫(kù)。

  2. 動(dòng)態(tài)路由
    Keystone從設(shè)置MV*程序的最佳實(shí)踐入手,讓你管理模板、視圖和路由變得更容易。

  3. 數(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 (及其它)

  4. 自動(dòng)生成管理員界面
    不管你在搭建應(yīng)用程序,或者在生產(chǎn)環(huán)境中作為數(shù)據(jù)庫(kù)內(nèi)容管理系統(tǒng)時(shí)是否用它,Keystone的管理員界面都能節(jié)省你的時(shí)間,讓你管理數(shù)據(jù)更容易。

  5. 編碼更簡(jiǎn)單
    有時(shí)即便做的事情簡(jiǎn)單,異步代碼也會(huì)變得復(fù)雜。Keystone讓簡(jiǎn)單的事情(比如在視圖中顯示之前加載數(shù)據(jù))保持簡(jiǎn)單。

  6. 表單處理
    要驗(yàn)證表單、上次圖片或用一行代碼更新數(shù)據(jù)庫(kù)?基于你已經(jīng)定義的數(shù)據(jù)模型,Keystone可以做到。

  7. 會(huì)話管理
    Keystone自帶了會(huì)話管理和認(rèn)證功能,包括密碼域的自動(dòng)加密。

  8. 發(fā)送Email
    借助Keystone,你的應(yīng)用程序可以輕松地設(shè)置、預(yù)覽和發(fā)送基于模板的email。它還集成了Mandrill (Mailchimp卓越的事務(wù)性email發(fā)送服務(wù))

開始

前提是你已經(jīng)安裝了Node和Mongo。

  1. 安裝生成器
    你將要使用由Yeoman制作的KeystoneJS 生成器。在根目錄運(yùn)行:
    $ npm install -g generator-keystone

  2. 給項(xiàng)目創(chuàng)建一個(gè)文件夾
    你可以在任何地方創(chuàng)建項(xiàng)目:
    $ mkdir my-test-project
    然后進(jìn)入新項(xiàng)目目錄:
    $ cd my-test-project

  3. 運(yùn)行生成器
    $ yo keystone
    生成器會(huì)問你幾個(gè)問題,主要是你想要什么功能,然后進(jìn)行配置,并把你需要的所有文件復(fù)制到你的項(xiàng)目目錄中。
    它還會(huì)從npm中安裝依賴項(xiàng),幫你做好準(zhǔn)備。

  4. 運(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 在瀏覽器中看看。

  1. 升級(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。 Node.js 使用了一...
    依依玖玥閱讀 733評(píng)論 0 1
  • Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。 Node.js 使用了一...
    不去解釋閱讀 7,027評(píng)論 0 3
  • 人心似海底針。你不去摸一摸,永遠(yuǎn)不知道它藏得有多深。 我有個(gè)巨大的缺點(diǎn),就是當(dāng)被別人騙過之后,仍然不懂舉一反三,會(huì)...
    一只比亞閱讀 228評(píng)論 0 0
  • 我是被大媽們深深“傷害”過的人...話少是一個(gè)人很大的優(yōu)點(diǎn)——澳洲小哥 特別推薦一部默片式的生存紀(jì)錄片——《澳洲小...
    哲思藝魂閱讀 482評(píng)論 0 1

友情鏈接更多精彩內(nèi)容