(https://cnodejs.org/user/a1511870876)
学习交流
项目同时部署在阿里云,访问地址www.keepforward.xyz:3000gihub地址:https://github.com/a1511870876/myblog欢迎star一些学习分享,大家共同交流,地址https://github.com/a1511870876/studyFiles
写在前面
Koa使用了ES6规范的generator和异步编程是一个更轻量级Web开发的框架,Koa 的先天优势在于 generator。由于是我个人的分享交流,所以Node基础、ES6标准、Web开发基础以及Koa的"Hello World"程序都不在讨论,希望各位小伙伴提出意见和指导。
PS:Koa 内核中没有捆绑任何中间件,但不用担心,Koa 拥有极其强悍的拓展性,正文所有中间件都可以在npm官网下载安装,但国内域名安装会有一些限制,提供一个国内镜像安装方法,速度非常快,在直接npm模块失败的时候非常好用,
使用npm --registry=http://registry.npmjs.org install XXXXX –XX 命令安装,只需要在install后面加上要安装的中间件名称和相应的参数即可。
一、使用Koa搭建Web项目流程
1、Koa项目创建
个人认为不管任何框架,Web项目搭建必需的几个方面,页面、中间件、路由、会话和存储、日志、静态文件指定,以及错误的处理。当然,网站开发不止这些东西,还有许多主题,比如实时通讯,搜索引擎架构,权限控制,邮件优先队列,日志记录分析,对Web开发还刚刚入门属于菜鸟级别,这里就不做深入的讨论了。了解Express框架的小伙伴一定知道Express的部署过程,不管是通过express-generator生成还是WebStorm等编译器直接创建,它的目录结构大概是这样的:
|——app.js|——bin|——node_modules|——package.json|——public|——routes|——views
*app.js,是程序启动文件
*bin,存放执行程序
*node_modules,存放项目依赖库
*package.json,是配置和一些相关信息
*public,存放静态文件(css,js,img)
*routes,存放路由文件
*views,存放前台页面文件
这些结构基本包含了上述提到的Web项目搭建的要素,但是目前类似express-generator的Koa部署工具Koa-generator(非官方)并不完善并且个人测试存在些许错误。其实Koa-generator也是仿造上述express-generator生成的目录,既然这样还不如手动创建目录来的爽快(generator-k是另一款生成器,用上去感觉还行),在根目录新建app.js作为程序的启动文件,创建三个文件夹分别命名public、routes和views,最后新建package.json文件存放你的项目的一些信息。完成这些创建之后,用npm命令安装Koa,这样的话一个基本的Koa框架就搭建好了,非常的的轻量级,
它的目录结构如下:
|——app.js |——node_modules |——public | |——img | |——css | |——js | |——routes | |——index.js | |——user.Js | |——views | |——_layout.html | |——index.html | |——package.json Koa项目运行:node --harmony app.js 必须加 --harmony ,这样才会支持 ES6 语法。
2、Koa日志
日志是项目error调试和日常维护的基本手段,Koa有日志模块Koa-logger,npm install Koa-logger后使用app.use(logger());命令程序就会在控制台自动打印日志,当然如果你对Koa-logger的风格不满意或者想要看到更多得信息也可以自己编辑代码实现有自己风格的日志打印。例如:
网友评论