koa

搭建node服务(三):使用TypeScript

烂漫一生 提交于 2020-08-09 09:57:42
JavaScript 是一门动态弱类型语言,对变量的类型非常宽容。JavaScript使用灵活,开发速度快,但是由于类型思维的缺失,一点小的修改都有可能导致意想不到的错误,使用TypeScript可以很好的解决这种问题。TypeScript是JavaScript的一个超集,扩展了 JavaScript 的语法,增加了静态类型、类、模块、接口和类型注解等功能,可以编译成纯JavaScript。本文将介绍如何在node服务中使用TypeScript。 一、 安装依赖 npm install typescript --save npm install ts-node --save npm install nodemon --save 或者 yarn add typescript yarn add ts-node yarn add nodemon 另外,还需要安装依赖模块的类型库: npm install @types/koa --save npm install @types/koa-router --save … 或者 yarn add @types/koa yarn add @types/koa-router … 二、 tsconfig.json 当使用tsc命令进行编译时,如果未指定ts文件,编译器会从当前目录开始去查找tsconfig.json文件,并根据tsconfig

阿里 Midway 正式发布 Serverless v1.0,研发提效 50%

ε祈祈猫儿з 提交于 2020-08-09 04:07:43
开源为了前端和 Node.js 的发展,Github: https://github.com/midwayjs/midway , 点击直接跳转点 Star 。 去年阿里提出 Serverless 架构,并利用其新一代研发架构,减少了大量研发人员对基础设施和运维的关注。对前端开发者而言,他们只需写几个函数即可实现后端业务逻辑,推动业务快速上线,让整个 前端研发效能提升 50% 。 在过去的半年里,Midway FaaS 收获了很多同学的关注,也有不少大企业已经直接开始使用,在此感谢你们。今天,Midway FaaS 将演进为 Midway Serverless,并正式成为 Midway 体系的核心场景,同时正式发布 v1.0 版本。 v1.0 版本代表着一个正式的版本,可以放心的使用。通过整个 Midway Serverless 新体系,我们将阿里的 Serverless 能力逐步开放,前端将进入一个崭新的时代。就像两年前说的一样,开源只是开始,终态远没有到来。 如今的 Serverless,是云厂商各自开疆拓土的黄金时代,也是各位尝试的最好年代,如今 Node.js 在这个时候成为了最佳选择,Midway 体系也当仁不让地站在这十字路口,去朝着引领的方向去行。 什么是 Midway Serverless 就像前面提到的一样,Midway Serverless 是套面向

专题:Deno发布之后,你需要了解的那些事儿~

房东的猫 提交于 2020-08-08 21:07:49
你好哇,我是关注技术上新的掘金酱。 上周,Deno 1.0 版本发布啦,与每一次的技术发布一样,这一次的发布也同样引发了技术圈的一波关注和热议。虽然已经有无数朋友在Deno出来的第一时间,预见了一大波的“学不动啦”“再不学就淘汰了”的“呼声”。但大家都还是认认真真研究起来这项新技术,并纷纷上手体验。 发布新技术自然会引起热度关注,但更多的原因是Deno 的作者也是 Node.js 的作者, Node.js 自身的一些缺点,以及庞大的用户群体,使得 Node.js 的发展变得有些举步维艰,所以 Ryan Dahl 选择离开 Node.js 开发 Deno。这一举动,难免让大家不由得好奇起Deno 和 Node 千回百转的关系,以及后续的技术走势。 这一次,掘金酱把掘友们写作的Deno相关文章一次性整理好啦,分享给想了解并学习新技术的掘友们。文章集合包含了Deno的介绍,它与Node.js的对比以及优势劣势。并且还有各种Deno上手体验手把手教学文章,供掘友们一次性阅读完成。 最后,感谢掘友们对新技术的分享与解读。同时,掘金酱依然会持续收录精彩文章进专题,你也可以把自己的Deno体验写下来,一起与掘友分享。 @黄子毅:精读《Deno 1.0 你需要了解的》 Deno 是什么?Deno 和 Node 有什么关系?Deno 和我有什么关系? Deno 将于 2020-05-13 发布 1

点亮你的Vue技术栈,万字Nuxt.js实践笔记来了

邮差的信 提交于 2020-08-07 11:28:13
前言 作为一位 Vuer(vue开发者),如果还不会这个框架,那么你的 Vue 技术栈还没被点亮。 Nuxt.js 是什么 Nuxt.js 官方介绍: Nuxt.js 是一个基于 Vue.js 的通用应用框架。 通过对客户端/服务端基础架构的抽象组织,Nuxt.js 主要关注的是应用的 UI渲染。 我们的目标是创建一个灵活的应用框架,你可以基于它初始化新项目的基础结构代码,或者在已有 Node.js 项目中使用 Nuxt.js。 Nuxt.js 预设了利用 Vue.js 开发服务端渲染的应用所需要的各种配置。 如果你熟悉 Vue.js 的使用,那你很快就可以上手 Nuxt.js 。开发体验也和 Vue.js 没太大区别,相当于为 Vue.js 扩展了一些配置。当然你对 Node.js 有基础,那就再好不过了。 Nuxt.js 解决什么问题 现在 Vue.js 大多数用于单页面应用,随着技术的发展,单页面应用已不足以满足需求。并且一些缺点也成为单页面应用的通病,单页面应用在访问时会将所有的文件进行加载,首屏访问需要等待一段时间,也就是常说的白屏,另外一点是总所周知的 SEO 优化问题。 Nuxt.js 的出现正好来解决这些问题,如果你的网站是偏向社区需要搜索引擎提供流量的项目,那就再合适不过了。 我的第一个 Nuxt.js 项目 我在空闲的时间也用 Nuxt.js 仿掘金 web

vue+koa2搭建mock数据环境

流过昼夜 提交于 2020-08-07 07:01:43
前段时间写了一篇 前端vue项目实现mock数据方式 的文章,主要是在vue项目里使用mock数据,数据和项目耦合在一起,不太优雅,作为一个有追求的前端,怎么能容忍这种方法呢?特以此篇,记录利用koa2搭建服务端,提供mock数据的方法。 初始化vue项目 这里以vue项目为主,当然别的类型项目依然可以使用这种mock数据的方式。 vue create vue-koa2-demo 复制代码 前提是安装了vue-cli的脚手架,我电脑安装的是vue-cli3的版本。按照要求一步一步选择后,记得选择安装vuex,后续要使用,启动项目。 koa2项目初始化 前端项目弄好之后,开始安装koa mkdir koa-demo cd koa-demo npm koa koa-router koa-cors 复制代码 安装工作完成后,在项目根目录下新建一个server.js. let Koa=require( 'koa' ) let Router=require( 'koa-router' ) let cors=require( 'koa-cors' ) let fs=require( 'fs' ) const app=new Koa() const router=new Router() router.get( '/getData' ,async ctx=>{ // 允许cors跨域请求

【融职培训】Web前端学习 第7章 Vue基础教程13 项目部署

元气小坏坏 提交于 2020-08-06 13:59:15
一、概述 二、构建项目 npm run build 将项目打包,默认会生成一个dist目录,构建工具会将整个项目路打包成HTML、CSS和JS文件。 然后将这些静态文件直接放在服务器中。 三、配置 vue.config.js 文件 四、课后题 完成一个学生管理系统: 需求 学生的添加、删除、修改功能。 可以设置学生的成绩。 功能开发完成后,部署到Koa服务器中。 技术要求 UI框架使用elementUI。 数据交互使用Axios 后台使用Koa。 数据存储在后台的内存中(使用变量存储数据)。 【融职教育】在工作中学习,在学习中工作 来源: oschina 链接: https://my.oschina.net/u/4125915/blog/4320373

Node.js第十二篇:图片随机验证码

眉间皱痕 提交于 2020-08-06 12:27:08
1. 为什么需要随机验证码 防止机器恶意注册. 验证码的作用:有效防止这种问题对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的方式,利用比较简易的方式实现了这个功能。虽然登陆麻烦一点,但是对社区还来说这个功能还是很有必要,也很重要。 2. Node.js实现随机验证码 安装第三方包 npm install svg-captcha --save 文档: https://www.npmjs.com/package/svg-captcha 代码演示 后端程序 const koa = require('koa') const router = require('koa-router')() // 导入koa-session模块 const session = require('koa-session') // 导入svgCaptcha const svgCaptcha = require('svg-captcha'); const app = new koa() // 配置session app.keys = ['some secret hurr']; const CONFIG = { key: 'koa:sess', //cookie key (default is koa:sess) maxAge: 86400000, //

Day12-微信小程序实战-交友小程序-搭建服务器与上传文件到后端并控制云开发数据库-项目总结与github代码发布流程(附上项目全部完整代码学习使用)

一笑奈何 提交于 2020-08-06 03:45:22
要搞一个小型的cms内容发布系统 因为小程序上线之后,直接对数据库进行操作的话,慧出问题的,所以一般都会做一个管理系统,让工作人员通过这个管理系统来对这个数据库进行增删改查 微信小程序其实给我们提供了这样的能力了 (也就是可以在自己已有的服务器来进行云操作,所以就可以通过这个CMS内容管理系统来对云数据库进行修改) 我们就要建立自己的web服务器--》搭建一个简易的服务器 https://koa.bootcss.com/ 这个是要node版本是7以上,可以在node官网去搭建,我这边之前按照过了,直接cmd打开,通过 node -v查看版本 然后还要下载一个 cnpm,这个主要是下载第三方模块用的 https://www.cnblogs.com/biglovevolcaner/p/6707746.html 打开cmd,直接输入这位大佬博客里面的语句进行安装即可了 这些都准备好了之后,就可以开始koa2的服务器搭建了 我们选择koa的脚手架 koa-generator https://blog.csdn.net/sinat_39049092/article/details/104575018 (跟这个博客到第三步就行) 然后我们就可以到想要搭建系统的文件中(我在d盘新建了一个weapp文件) 在cmd中输入 D:\weapp 之后输入 d:即可跳转 输入 koa2 miaomiao

项目总结,彻底掌握NodeJS中如何使用Sequelize

半城伤御伤魂 提交于 2020-08-05 04:53:48
前言 sequelize是什么? sequelize是基于NodeJs的ORM框架,它适用于不同的数据库,如:Postgres、MySQL、SQLite、MariaDB,我们可以通过sequelize对数据库进行一系列的操作。通常我用它与MySQL一起使用。该文是我在使用sequelize做完项目后对sequelize的系统整理。 准备工作 一、创建数据库和表,方便学习过程中书写示例代码 创建数据库 lesson CREATE DATABASE IF NOT EXISTS lesson DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建商品表 goods(示例使用,字段从简) CREATE TABLE IF NOT EXISTS goods( id INT(20) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '商品id', name VARCHAR(64) NOT NULL COMMENT '商品名称', title VARCHAR(200) NOT NULL COMMENT '商品标题', descript TEXT COMMENT '商品描述', num BIGINT UNSIGNED NOT NULL COMMENT '商品库存', cateid INT(10)

Node.js第十四篇:基于JWT的接口的安全验证

≯℡__Kan透↙ 提交于 2020-07-29 04:41:41
接口的安全验证方式 传统的接口安全验证方式 Internet服务无法与用户身份验证分开。一般过程如下。 用户向服务器发送用户名和密码。 验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。 服务器向用户返回session_id,session信息都会写入到用户的Cookie。 用户的每个后续请求都将通过在Cookie中取出session_id传给服务器。 服务器收到session_id并对比之前保存的数据,确认用户的身份。 这种模式最大的问题是,没有分布式架构,无法支持横向扩展。如果使用一个服务器,该模式完全没有问题。但是,如果它是服务器群集或面向服务的跨域体系结构的话,则需要一个统一的session数据库库来保存会话数据实现共享,这样负载均衡下的每个服务器才可以正确的验证用户身份。 举一个实际中常见的单点登陆的需求:站点A和站点B提供同一公司的相关服务。现在要求用户只需要登录其中一个网站,然后它就会自动登录到另一个网站。怎么做? 一种解决方案是听过持久化session数据,写入数据库或文件持久层等。收到请求后,验证服务从持久层请求数据。该解决方案的优点在于架构清晰,而缺点是架构修改比较费劲,整个服务的验证逻辑层都需要重写,工作量相对较大。而且由于依赖于持久层的数据库或者问题系统,会有单点风险,如果持久层失败,整个认证体系都会挂掉。 JWT接口安全验证方式