nodejs
文章平均质量分 82
chen_晨风
Talking is cheap,show me a code
展开
-
[需要了解的] node模块加载浅析
node模块加载浅析通过分析require 加载模块流程,实现简易版本,本文环境 node v15.4.0调试数据// main.jsrequire('./test');// test.jslet a=1;console.log(this===module.exports,'this');module.exports=a;** 提示: vscode 断点调试要进入源码文件需要将 launch.json 中 skipFiles文件注释。 // "skipFiles": [ //原创 2021-03-04 00:07:10 · 244 阅读 · 2 评论 -
一次事件循环总结
文章目录什么是单线程,和异步的关系什么是event-loop事件循环、宏任务、微任务:nodejs的事件循环setTimeout(fn,0)的含义是什么?setTimeout(fn,0) Vs setImmediate Vs process.nextTick()setTimeout(fn,0) Vs setImmediatesetImmediate Vs process.nextTick()结尾...转载 2019-01-17 11:18:54 · 745 阅读 · 0 评论 -
[20年必须要了解的] graphQL
什么是GraphQL?新的API标准、它由Facebook 2015年开源声明式数据获取GraphQL服务公开单个端点并相应查询可以与任何编程语言和框架一起使用与 REST对比优势按需获取数据前端的快速产品迭代对于后端请求的数据有更细致的了解强类型系统定义API的功能???? 要了解有关使用GraphQL的主要原因更多信息 click this...原创 2020-01-08 10:11:33 · 846 阅读 · 0 评论 -
构建自定义的GraphQL类型
本文翻译一篇 如何去构建自定义 GraphQL类型,如果有帮助请点个赞文章目录创建 server自定义 scalar错误处理GraphQL可以控制我们的schema和API返回值一样。我们可以输入所有内容,如果输入的不是我们期望的则会出现错误。这样会使我们对返回的内容更加自信,这真的太神奇了。但是默认情况下GraphQL只附带一些基本类型。GraphQL基本类型:String、Int、F...翻译 2019-12-26 14:03:05 · 1136 阅读 · 0 评论 -
使用node+apollo-server + typescript 搭建 GraphQL API
本片文章翻译一篇 使用 apollo-server + typescript 搭建 GraphQL API文章目录为什么要使用 Typescript?利弊创建基本 typescript配置设置项目安装依赖和初始化ts设置 Express,Apollo并创建一个简单的GraphQL API配置 Apollo server创建 GraphQL schema 和 解析器(resolvers)编译代...翻译 2019-12-25 16:31:49 · 1603 阅读 · 0 评论 -
node+ts+express 构建 RESTful API 之 权限认证
使用TypeScript+Express+NodeJS+MongoDB 开发 Web APIs,如有错误可以击提issue ????,如果觉得ok,请点个star ????, 送人玫瑰、手有余香仓库地址 ➡️FE_note文章目录auth登录与注册模块使用JWT令牌进行身份验证auth本文我们采用bcrypt npm 包实现的bcrypt哈希算法,npm install bcryptnpm ...原创 2019-11-25 22:14:32 · 1236 阅读 · 0 评论 -
node+ts+express 构建 RESTful API 之 错误处理
nodeJs错误处理通过上面的学习,存在一个很大问题,就是我们把操作数据库的错误抛给了client这种实践是非常糟糕的,现在我们封装一个错误处理的中间件。首先,让我们创建一个将用于引发错误的类。src/exceptions/HttpException.tsclass HttpException extends Error{ constructor(public status:n...原创 2019-11-23 23:04:51 · 980 阅读 · 0 评论 -
node+ts+express 构建 RESTful API 之 连接数据库
引入MongoDBMongoDB安装与入门目录结构├── README.md├── package-lock.json├── package.json├── src│ ├── config│ │ └── index.ts│ ├── controllers│ │ └── userControllers.ts│ ├── models│ │ └── ...原创 2019-11-23 23:02:41 · 1132 阅读 · 0 评论 -
node+ts+express 构建 RESTful API 之路由构建
构建路由RESTfulGET:用来获取资源POST:用来新建资源(也可以用于更新资源)PUT:用来更新资源DELETE:用来删除资源目录结构├── README.md├── package-lock.json├── package.json├── src│ ├── app.ts│ ├── controllers│ │ └── userControlle...原创 2019-11-16 23:57:40 · 1264 阅读 · 1 评论 -
node+ts+express 构建 RESTful API 之搭建环境
使用TypeScript+Express+NodeJS+MongoDB 开发 Web APIs,如有错误可以击提issue ????,如果觉得ok,请点个star ????, 送人玫瑰、手有余香仓库地址 ➡️文章目录搭建开发环境hello express工具参考文档搭建开发环境npm init -ynpm i express @types/node @types/express body-pa...原创 2019-11-16 23:56:49 · 3335 阅读 · 1 评论 -
部署流程(单页面+后端server)
上线部署** 搭建前先更新系统$ sudo apt-get update搭建node.js环境//安装系统相关工具sudo apt-get install git// open ssl build-essential libssl-dev wget 安装node.js这里通过 nvm来安装 node.js步骤如下:github地址wget -qO- https://raw....原创 2019-05-06 16:47:54 · 988 阅读 · 0 评论 -
node.js学习笔记 - 文件上传(并用七牛云托管)
参考地址:七牛云手册koa学习笔记环境搭建准备工作初始化项目创建目录 fileUpload-demo - dist 编译后文件 - fileupload.html //上传文件静态页面 - src 存放源文件 - config.ts 配置文件 - handle-upload.ts 用户处理上传请求 - upload.ts 上传文件工具类 ...原创 2019-04-12 18:58:50 · 598 阅读 · 0 评论 -
nodejs 测试篇小结
单元测试TDD 测试驱动开发 倡导首先测试程序,然后编码实现其功能BDD 对测试开发的回应, 倡导软件项目开发者、测试人员和非技术人员进行协作,通过自然语言书写非程序员可度的测试用例扩展测试驱动开发方法。Chai断言库Chai 包含3个断言库,其中BDD风格的 Expect/Should和 TDD风格的Assert。npm install chai --save测试demo...原创 2019-04-07 21:22:24 · 1486 阅读 · 0 评论 -
解决bash: express: 未找到命令(ubunu)
安装nodejs采用的是源码编译进行安装,但当安装express时 安装成功了 但执行时一直报找不到命令。sudo npm install -g express后来百度查询后,发现还需要安装 express-generatorsudo npm install -g express-generator最后解决问题。高兴。。...原创 2018-10-07 20:39:30 · 1985 阅读 · 0 评论 -
使用Babel将es6转换es5
目录Babel是什么?命令行转换babel-cli安装使用配置文件babel-polyfill安装在js中使用将Babel集成到webpack中Babel配置webpack配置1)安装webpack2)添加配置文件 webpack.config.js3) 修改package.json4)打包 拓展npm中 save与 save-d...原创 2018-10-08 20:30:28 · 6013 阅读 · 0 评论 -
npm常用用法
目录NPM是什么?安装NPM模块初始化模块安装模块更新模块删除NPM是什么?Npm是的Js开发者能够更方便的分享和复用以及更新代码,被复用的代码被称为包或者 模块,一个模块中包含了一到多个js文件。在模块中一般还会包含一个package.json的 文件,该文件中包含了该模块的配置信息。一个完整的项目,需要依赖很多个模块。一 个完整的npm包含三部分网站 用于...原创 2018-10-09 23:15:06 · 264 阅读 · 0 评论 -
http-server 安装与运行
一、 安装 npm install http-server -g **:需要权限安装。window用户需要管理员身份执行上条命令。 安装完后, 将安装的地址 加入到环境变量。二、运行 找到要执行的文件目录。 打开命令行执行 http-server 就会打开一个端口会默认执行我们文件目录下的index.html文件 ...原创 2018-12-10 15:16:41 · 1588 阅读 · 0 评论 -
koa2 note
文章目录GET请求query和queryString区别获取方式POST请求context中request和req区别获取Post请求参数:采用中间件获取post参数koa-router基本使用GET请求query和queryString区别**query:**返回的是格式化好的参数对象**queryString:**返回的是请求字符串获取方式我们可以通过request对象获取我们...原创 2019-01-28 12:00:33 · 142 阅读 · 0 评论 -
nodeJs操作 Mongoose小结
文章目录MongoDB vs mysqlMongoose介绍node 连接mongoose简单 crud补充数据校验数据库的导入和导出MongoDB vs mysqlMongoDBmysql名称documentrecord记录collectiontable表databasedatabase数据库Mongoose介绍是mongoDB的一个对象...原创 2019-01-28 17:41:55 · 1085 阅读 · 0 评论 -
学习使用JWT和Passport身份验证
原文地址注:需要手段才能访问…,本文基于koa2+mongoose 实现。简介Passport是一个Node.js中间件,它提供了易于实现的各种不同的请求身份验证策略。默认情况下,它将用户对象存储在会话中。JSON Web令牌是一种身份验证标准,通过在有助于识别登录用户的请求中分配和传递加密令牌,而不是将用户存储在服务器上的会话中并创建cookie来工作。它有不同的集成,包括Node.j...原创 2019-02-25 09:21:38 · 4908 阅读 · 6 评论 -
npx 后 告别全局安装
文章目录背景案例初始化项目安装依赖运行npx使用总结背景学习React 后,想探究 jsx的本质到底如何转换,具体流程如下案例初始化项目//创建文件夹 jsxDemo//执行npm init -y //创建文件 比如我:demo.js 安装依赖// 1. 不建议全局安装 babel,因为不同项目babel所依赖的版本不一样,具体原因 手动google npm inst...原创 2019-02-20 11:38:57 · 1269 阅读 · 0 评论 -
换种方式去写node API
文章目录搭建node 环境通过babel 搭建node环境通过 typeScirpt通过装饰器改造路由搭建node 环境通过babel 搭建node环境npm install --save-dev babel-registernpm install --save-dev babel-plugin-transform-decorators-legacy//支持装饰器语法npm inst...原创 2019-04-10 17:30:17 · 149 阅读 · 0 评论 -
在node中应用redis
文章目录redis介绍安装redis(windows)node中使用Sessionnode中应用redis存储Sessionredis介绍redis可用作数据库、高速缓存和消息队列代理,并非常适合处理短时间内被高频访问但又不需要长期访问的简单数据存储。redis是既可以基于内存也可以持久化的日志型Key-Value数据库,并支持多种语言的API,它通常被称为数据结构服务器。安装redi...原创 2019-04-07 15:13:12 · 382 阅读 · 0 评论 -
node.js 安装与版本升级
目录 windows下安装linux下安装1.源码安装2. 源安装 版本升级3. 编译安装(推荐)卸载1.通过 源文件编译安装方式2. 通过 源安装方式windows下安装 windows下只需要到官网下载http://nodejs.org下载MSI安装包即可。安装完毕后,打开cmd 输入 $ node --version ...原创 2018-10-07 12:35:59 · 3833 阅读 · 0 评论