爱所有人,信任少数人,不负任何人---《皆大欢喜》
前言:js全栈目录
基于node.js平台的下一代web框架 koa2官网
在实际的开发中,我使用koa2来作为后端服务,这个前后端分离的趋势之下, 为什么前后端分离。koa2 最常用的Api,请求体,返回体。
请求体:用户的操作行为比如打开网页,app,提交购买记录,以及用的浏览记录,停留时间等行为以json的方式返回给后端 json数据交换格式。
返回体:企业接受到用户的请求,koa2以json的方式发送给前端,渲染出页面,供用户使用。并且存储相关数据到数据库。
下载Node,官网,koa2要求的版本不最低于8.0,node自带npm官网。node会越来越来越好,npm至少贡献了60%的力量,后面你会发现npm为我们省去太多造轮子的时间。
安装node,一路静默安装,只到成功。如果你是mac用户,现在知道mac的优势了。命令行输入
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吧!!!
- 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: 项目依赖文件夹。后期开发所有依赖的轮子全在里面,比如路由,数据库,跨域,加密。
package_lock.json: 项目依赖管理,配置打包工具。 webpack
-
编辑,hello world
新建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('启动成功') //日志打印
- 启动服务
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---数据库
routers---路由管理
startic---静态资源
解释的不够详尽,因为我只想把阅读者引进门,更详尽知识点的在官网的api。先上车,再开好车。
关注我,下章讲:路由管理。