愛所有人左驾,信任少數(shù)人镣隶,不負任何人---《皆大歡喜》
前言:js全棧目錄
基于node.js平臺的下一代web框架 koa2官網(wǎng)
在實際的開發(fā)中,我使用koa2來作為后端服務诡右,這個前后端分離的趨勢之下安岂, 為什么前后端分離。koa2 最常用的Api帆吻,請求體域那,返回體。
請求體:用戶的操作行為比如打開網(wǎng)頁猜煮,app次员,提交購買記錄,以及用的瀏覽記錄友瘤,停留時間等行為以json的方式返回給后端 json數(shù)據(jù)交換格式翠肘。
返回體:企業(yè)接受到用戶的請求檐束,koa2以json的方式發(fā)送給前端辫秧,渲染出頁面,供用戶使用被丧。并且存儲相關數(shù)據(jù)到數(shù)據(jù)庫盟戏。
下載Node,官網(wǎng)甥桂,koa2要求的版本不最低于8.0柿究,node自帶npm官網(wǎng)。node會越來越來越好黄选,npm至少貢獻了60%的力量蝇摸,后面你會發(fā)現(xiàn)npm為我們省去太多造輪子的時間。
安裝node办陷,一路靜默安裝貌夕,只到成功。如果你是mac用戶民镜,現(xiàn)在知道m(xù)ac的優(yōu)勢了啡专。命令行輸入
node -v 查看node版本信息
npm -v 查看npm版本信息
# 返回
localhost:~ hez$ node -v
v8.2.1
localhost:~ hez$
localhost:~ hez$ npm -v
5.3.0
localhost:~ hez$
恭喜,安裝成功制圈,準備hello world吧C峭E峡觥!
- koa的安裝
新建一個項目文件夾慧库,例如:koas
有兩個方案跷跪,1,使用本地的命令行工具完沪;2域庇,在webstorm中完成安裝。webstorm前端屠龍刀
1.命令將入對應的目錄:
localhost:koas hez$ npm install koa
npm WARN saveError ENOENT: no such file or directory, open '/hez/node/koa/koas/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/hez/node/koa/koas/package.json'
npm WARN koas No description
npm WARN koas No repository field.
npm WARN koas No README data
npm WARN koas No license field.
+ koa@2.4.1
added 37 packages in 6.191s
╭─────────────────────────────────────╮
│ │
│ Update available 5.3.0 → 5.5.1 │
│ Run npm i -g npm to update │
│ │
╰─────────────────────────────────────╯
localhost:koas hez$
查看項目文件
node_modules: 項目依賴文件夾覆积。后期開發(fā)所有依賴的輪子全在里面听皿,比如路由,數(shù)據(jù)庫宽档,跨域尉姨,加密。
package_lock.json: 項目依賴管理吗冤,配置打包工具又厉。 webpack
-
編輯,hello world
新建app .js椎瘟,作為項目的入口文件覆致。
文件內(nèi)容。
const Koa = require('koa') //koa2中間件依賴
const app = new Koa() //js的繼承
app.use( async ( ctx ) => {
ctx.body = 'hello world'
}) //koa2中間件
app.listen(3000) //服務啟動端口
console.log('啟動成功') //日志打印
- 啟動服務
localhost:koas hez$ node app.js
啟動成功
日志答應成表示啟動成功肺蔚,打開瀏覽器訪問 hello world煌妈,頁面返回hello world。
至此宣羊,koa2 的命令行安裝完成璧诵,下面講webstorm安裝方法(推薦)
-
編輯器打開文件
進入編輯器命令行
鍵入安裝命令
新建app. js并且完成編寫
const Koa = require('koa') //koa2中間件依賴
const app = new Koa() //js的繼承
app.use( async ( ctx ) => {
ctx.body = 'hello world'
}) //koa2中間件
app.listen(3000) //服務啟動端口
console.log('啟動成功') //日志打印
報紅了,這里的原因是編輯器的js語法為es5仇冯,改為es6就好了
如果你不知道es6語法之宿,推薦你去看看 阮一峰es6標準,因為koa和react寫法都是es6苛坚。
- 服務啟動成功比被,但是一個項目是不會這么簡單的,完整的項目文件如下泼舱。
lib---數(shù)據(jù)庫
routers---路由管理
startic---靜態(tài)資源
解釋的不夠詳盡等缀,因為我只想把閱讀者引進門,更詳盡知識點的在官網(wǎng)的api柠掂。先上車项滑,再開好車。
關注我,下章講:路由管理枪狂。