精华内容
下载资源
问答
  • koa

    2020-10-14 11:37:36
    koa的介绍 koa --基于Node.js平台的下一代web开发框架 koa是由express 人员打造的,致力于成为一个更小,更富有表现力见状的web框架,使用koa编写web应用,可以免除重复的回调函数嵌套,提升错误处理的效率。koa不在...

    koa的介绍

    koa --基于Node.js平台的下一代web开发框架

    koa是由express 人员打造的,致力于成为一个更小,更富有表现力见状的web框架,使用koa编写web应用,可以免除重复的回调函数嵌套,提升错误处理的效率。koa不在内核中绑定中间件。和express差不多,最大特点是可以避免异步嵌套

    koa安装使用

    npm install --save koa

    项目搭建:
    1、npm init --yes 生成package.json
    2、安装koa npm install --save koa

    使用koa-router中间件

    npm install koa-router --save

    const Koa = require('koa');
    const Router = require('koa-router');
    
    const app = new Koa();
    const router = new Router();
    
    router.get('/', async (ctx) => {
      let html = `
          <ul>
            <li><a href="/hello">helloworld</a></li>
            <li><a href="/about">about</a></li>
          </ul>
        `
      ctx.body = html
    }).get('/hello', async (ctx) => {
      ctx.body = '你好呀'
    }).get('/about', async (ctx) => {
      ctx.body = '你猜猜关于啥'
    })
    
    app.use(router.routes(), router.allowedMethods())
    
    app.listen(3000);
    

    中间件

    中间件 Koa 应用程序是一个包含一组中间件函数的对象,它是按照类似堆栈的方式组织和执行的。Koa中使用app.use()用来加载中间件,基本上Koa 所有的功能都是通过中间件实现的。每个中间件默认接受两个参数,第一个参数是 Context 对象,第二个参数是next函数。只要调用next函数,就可以把执行权转交给下一个中间件。

    const Koa = require('koa');
    const app = new Koa();
    
    // x-response-time
    //匹配所有路由
    app.use(async (ctx, next) => {			//一个中间件
      const start = Date.now();
      await next();					//异步等待,匹配并且处理下一个中间件
      const ms = Date.now() - start;		//匹配理由完成后 继续返回执行
      ctx.set('X-Response-Time', `${ms}ms`);
    });
    
    // logger
    
    app.use(async (ctx, next) => {		//中间件
      const start = Date.now();
      await next();
      const ms = Date.now() - start;
      console.log(`${ctx.method} ${ctx.url} - ${ms}`);
    });
    
    // response
    
    router.get('news',asynx(ctx)=>{		//匹配路由news
    	console.log("匹配路由news")
    })
    app.listen(3000);
    

    模板引擎

    渲染html页面。

    常用的渲染的指令:
    1、引入公共的模板
    <% include header.ejs %>

    2、绑定数据
    <%= list %>

    3、绑定html,解析dom元素
    <%- value %>

    4.共享数据
    ctx.state = {
    commonTitle: ‘’ 我是公共数据"
    }

    # 安装koa模板使用中间件
    $ npm i --save koa-views
    
    # 安装ejs模板引擎
    $ npm i --save ejs
    const Koa = require('koa')
    const views = require('koa-views')
    const path = require('path')
    const app = new Koa()
    
    // 加载模板引擎
    app.use(views((__dirname, './view'), {		//举例子 ,这里的dirname为index
        extension: 'ejs'
    }))
    app.use(async(ctx)=>{
    	ctx.state.commonTitle = "公共复用的标题";
    	await next();			//继续向下匹配
    })
    app.use(async (ctx) => {
        let title = 'Koa2'								//单个数据
        let list = ['111','222']
        await ctx.render('index', {			//在index.ejs中渲染title数据
            title,										
            
        })
    })
    
    app.listen(3000)
    ./view/index.ejs 模板
    
    <!DOCTYPE html>
    <html>
    <head>
        <title><%= title %></title>
    </head>
    <body>
        <h1><%= title %></h1>				//渲染title
        <h2><%=commonTitle %></h2>  //渲染公共资源  
        <div>
        	<%    for(var i = 0;i<list.length;i++) {    %>
    				<p><%=list[i]  %></p>			//渲染list数组
    	}
        </div>
    </body>
    </html>
    

    静态资源中间件

    1、cnpm install koa-static --save

    2、const static = require(‘koa-static’)

    3、配置 app.use(static(‘public’)) //public为静态资源的目录名
    配置也可以写 app.use(static (__dirname + ‘/public’))

    模板引擎 art-template

    koa cookie

    cookie 保存在浏览器客户端,保存信息,浏览历史记录,记住密码等
    在这里插入图片描述
    ctx.cookies.set(‘userlist’,‘zhangsan’,{
    maxAge:60 * 1000 * 60,
    path:’/news’, //可以配置的页面
    domain:‘baidu.com’ //正常情况不用配置
    })

    ctx.cookies.get(‘userlist’)

    session

    session是另外一种记录客户状态的机制,不同的是,session保存在服务器中。

    浏览器访问服务器,第一次请求的时候,服务器 会创建一个session对象,生成一个类似的key ,value的键值对,然后将key返回到浏览器中,浏览器再访问的时候,携带key(cookie),找到对应的value值。

    //配置seesion的中间件

    app.keys = [’ some secret hurr’]; //cookie的签名

    const CONFIG = {
    key: ‘koa:sess’,
    maxAge:300,
    overwrite:true,
    httpOnly:true,
    signed:true,
    rolling:false,
    renew:true
    }

    app.use(session (CONFIG,app));

    //获取session

    ctx.session.userinfo = ‘张三’;

    操作mongodb数据库

    1、安装mongodb

    cnpm install mongodb --save

    2、引入mongodb下面的mongoClient

    var MongoClient = require(‘mongodb’).MongoClient;

    3、定义数据库链接的地址 以及 配置数据库

    var url = ‘mongodb 😕/localhost:8080/koa’

    4、node.js连接数据库
    MongoClient.connent(url,(err,client)=>{
    const db = client.db(dbName) ; 数据库db对象

    })

    5、操作数据库
    db.user.insert
    MongoClient.connect(url,(err,db)=>{
    db.collection(‘user’).insertOne({“name”:“张三”},(err,result) =>{
    db.close();
    })
    })

    sequelize

    sequelize(Sequelize是一个基于promise的nodejs orm,目前支持Postgres、mysql、SQLite和Microsoft SQL Server。它具有强大的事务支持,关联关系,读取和复制等功能。)

    展开全文
  • Koa

    2019-01-11 16:56:50
    Koa 就是一种简单好用的 Web 框架,依赖nodejs,可以替代Express http://www.ruanyifeng.com/blog/2017/08/koa.html npm install -g koa-generator npm install koa   node xxx.js 教程: ...

      Koa 就是一种简单好用的 Web 框架,依赖nodejs,可以替代Express
    http://www.ruanyifeng.com/blog/2017/08/koa.html

    npm install -g koa-generator
    npm install koa
     
    node xxx.js

    教程:

    https://chenshenhai.github.io/koa2-note/note/project/session.html 

    Sequelize 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能.
    http://www.imooc.com/article/80671  建立项目

     

     

    https://www.cnblogs.com/xuepangzi/p/9733722.html

    https://blog.csdn.net/duola8789/article/details/80870413

     

    https://www.jb51.net/article/139548.htm

     

    展开全文
  • lorem-koa koa很好koa聪明,使用koa 描述 使用koa和mongodb构建的最小CRUD应用程序。 安装 1- git clone ...... 2- npm i 3- npm start 测试 运行npm test
  • Koa脚手架(Koa-NodeJs Application的Koa的脚手架)。为什么叫这个名字:因为网上基于KOA开头的项目和脚手架很多,但是方便大家好记,我采用了koa-program 。KOA代表KOA项目,PROGRM代表程式。 使用方法 一,安装 ...
  • koa模板 下载用于create-koa-application的样板模板。
  • koa:学习koa过程-源码

    2021-02-14 02:43:39
    koa:学习koa过程
  • koa examples koa官方例子

    2018-12-06 14:13:51
    koa官方例子,包括cookie, error, flash, upload, template, session等例子
  • graphql-koa 具有koakoa-router的graphql的启动程序。 入门 git clone https://github.com/ishan123456789/graphql-koa.git graphql-koa cd graphql-koa npm install 开始运行 npm run start 执照 此项目已获得...
  • koa,koa2后台api框架,resultApi框架,koa好用框架....
  • 如果你只是想使用KOA路由器安全地保存,你应该npm i koa-router@7.4.0并始终使用npm ci和save-exact=true在你.npmrc 。 使用app.get , app.put , app.post等进行快速样式路由 命名的URL参数。 具有URL生成的...
  • eko-koa 基于EJS,Knex anf Objection的Koa入门包。 对于Sails和Adonis这样的框架,这是理智的选择。 欢迎公关和分叉! 要求和安装: 要求:节点8+ 安装: git clone ...
  • koa-struct Koa struct中间件 安装 koa-struct要求 koa2 考阿体 路由器 npm install koa-struct --save 例子 基本用法 const struct = require ( 'koa-struct' ) ; const body = require ( 'koa-body' ) ; const ...
  • #koa-命名空间 使用为应用程序嵌套命名空间。 安装 npm i --save koa-namespace 用法 var koa = require ( 'koa' ) ; var router = require ( 'koa-router' ) ; var namespace = require ( 'koa-namespace' ) ; var...
  • Koa(2.0.1版) Koa is a newer Node.JS framework than express , a designer could also build a server quickly with Koa . Actually , Koa do rebuild the request and response of ...
  • 本文是我在阅读Koa源码后,并实现迷你版Koa的过程。如果你使用过Koa但不知道内部的原理,我想这篇文章应该能够帮助到你,实现一个迷你版的Koa不会很难。 本文会循序渐进的解析内部原理,包括: 基础版本的koa ...
  • koa-design:koa2源码解读
  • KOA装饰 使用装饰器作为单控制器级别的koa中间件或为控制器定义一些元数据,目前仅支持 。 安装 npm install koa-decorators 装饰工 方法 文件 @路由器 指定控制器的路由器信息。 它接受两个参数: 方法: String...
  • koa uuid中间件 安装 $ npm install koa - uuid 组态 默认配置 const options = { signed : false , maxAge : 1000 * 60 * 60 * 24 * 365 * 10 , httpOnly : true , } 例 const uuid = require ( 'koa-uuid' ) ...
  • 常见的Koa中间件 koa-bodyparser 压缩 饼干 头盔 小写小写 具有合理的默认值。 const Koa = require ( 'koa' ) const mid = require ( 'koa-mid' ) const app = new Koa ( ) app . use ( mid ) // the rest of ...
  • koa2-study koa 学习笔记 详细教程可以参照
  • koa-attach Koa-attach 是一个 koa 中间件,用于将节点包附加到 koa 上下文。 安装 $ npm install koa-attach 用法 作为数组 var attach = require('koa-attach'); app.use(attach([ 'lodash', 'moment' ]); 作为...
  • koa的SEO中间件基于替代 。 现代网络应用程序使用诸如react.js vue.js之类的技术在浏览器中呈现html,这导致搜索引擎无法抓取您的页面内容。 该项目想要以通用的方式解决此类问题,它检测到来自搜索引擎爬虫的请求...
  • Koa中间件,它在Koa响应中添加了一些常用方法。 安装 $ npm i koa-reply -S 描述 有方法和相应的状态码: OK :200 创建:201 错误请求:400 未经授权:401 禁止:403 未找到:404 InternalServerError :500...
  • 如果你对Koa的原理还不了解的话,可以先查看Koa原理解析。 二、koa-router概述 koa-router的源码只有两个文件:router.js和layer.js,分别对应Router对象和Layer对象。 Layer对象是对单个路由的管理,其中包含的...
  • koa-分析 轻松将分析嵌入到您的 Koa 应用程序中。 安装 $ npm install koa-analytics 例子 var analytics = require ( 'koa-analytics' ) ; var koa = require ( 'koa' ) ; var app = koa ( ) ; app . use ( ...
  • Node-koa Koa基础研究

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,473
精华内容 12,589
关键字:

koa