高雅从零搭建到Api实现项目的示例分析

  介绍

这篇文章给大家分享的是有关高雅从零搭建到Api实现项目的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

<强>什么是高雅吗?

亚是一个新网站的框架,由表达幕后的原班人马打造,致力于成为web应用Api和开发领域中的一个更小,更富有表现力,更健壮的基石。通过利用异步函数,高雅帮你丢弃回调函数,并有力地增强错误处理。高雅并没有捆绑任何中间件,而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。

<强>高雅与表达

高雅使用承诺和异步函数来摆脱回调地狱的应用并简化错误处理。它暴露自己ctx.request和ctx。响应对象而不是节点点播和res对象。另一方面,表达使用其他属性和方法扩充节点点播和res对象,并包括许多其他”框架“功能,例如路由和模板,高雅没有。

因此,如果你希望更接近node . js和传统的节点。js样式编码,你可能希望坚持使用连接/表达或类似的框架。如果你想摆脱回调,请使用高雅。

<强>总结

亚是一个比表达更精简,使用节点新特性的中间件框架,相比之前表达就是一个庞大的框架

<李>

如果你喜欢diy,很潮,可以考虑高雅,它有足够的扩展和中间件,而且自己写很简单

<李>

如果你想简单点,找一个框架啥都有,那么先表达

如果你有兴趣了解更多不同,请访问高雅与表达

<强>高雅项目搭建

注意,本篇教程面向有一定的洋槐使用经验的用户。如果,你还不了解高雅,请先看下面的文档高雅中文文档

亚文档过于精简,虽然将每一个API都进行解释说明,但还是很难将其组织起来进行应用,对于初学者来说可谓是很不友好。

笔者第一个高雅项目,将所有接口,逻辑,配置等全部写在了应用程序。js中,虽说完美运行,但是可读性、可维护性极差,所以一个好的目录结构尤为重要

<强>目录创建

<李>

配置-配置

<李>

模型——数据库模型(ROM)

<李>

控制器,控制器

<李>

中间件),中间件

<李>

公共-静态资源

<李>

服务——服务

<李>

路由器-路由

<李>

应用程序。js -启动文件

<强>依赖安装

创建好项目目录后我们需要安装一些依赖,来供我们使用

<李>

babel-core/babel-preset-es2015 -让nodeJs支持es6模块

<李>

高雅——koa2

<李>

koa-body -请求体解析

<李>

koa-cache-control -缓存控制

<李>

koa-compress——gzip

<李>

koa-cors -跨域

<李>

koa-logger -日志

<李>

koa-onerror -错误处理

<李>

koa-router -路由

<李>

koa-session -会话

<李>

koa-static -静态资源服务

<李>

koa-helmet -安全

<李>

md5 - md5加密

<李>

mkdirp——递归创建目录

可以根据自己的需求进行选择,但是一些依赖是必须安装的

<李>

高雅——koa2

<李>

koa-body -请求体解析

<李>

koa-router -路由

后面的内容会讲解每个插件有什么用,如何去用。

<强>目录详解

配置

配置是我们的配置文件,比如:

<李>

数据库(mysql、甲骨文、复述等)

<李>

OSS

<李>

实际运用:

<李>

confirg

<李>

database.config.js(新建)

database.config。js

export  default  {   ,数据库:& # 39;& # 39;   ,用户名:& # 39;& # 39;   ,密码:& # 39;& # 39;   ,方言:& # 39;& # 39;   主持人:大敌;& # 39;& # 39;   ,端口:3306   }

具体配置之后会跟大家仔细讲解。

<强>模型

模型文件夹主要是我们的数据库模型(ORM),存储数据库映射文件,例如:

<李>

模型 <李>

索引。js -入口文件

<李>

用户。js -对应数据库中用户表的

索引。js

import  Sequelize 得到& # 39;sequelize& # 39;   import  config 得到& # 39;. ./config/database.config& # 39;   const  sequelize =, new  Sequelize(配置)   时间=export  const  user  sequelize.import(时间+ __dirname  & # 39;/用户# 39;)   export  default  {   ,用户,   ,sequelize   }

高雅从零搭建到Api实现项目的示例分析