node
文章平均质量分 64
水痕01
暂停更新博客
展开
-
Nestjs开发环境和生产环境的配置
这篇是Nest微服务训练营基础篇一小节,训练营大概会有100多篇关于Nest实操的文字,本小节讲述开发过程中环境变量的区分,更多精彩文章关注我,有需要可以加我微信:332904234,备注好来源。原创 2022-08-14 21:33:03 · 2848 阅读 · 0 评论 -
使用docker-compose和nginx来部署node项目
使用docker-compose和nginx来部署node项目2、文件介绍说明文件主要写配置的主要是的配置和都是后端项目文件是静态文件1、关于文件的代码2、关于的文件3、关于文件内容4、运行命令启动项目三、关于使用来做负载均衡1、修改的配置2、启动...原创 2022-06-09 22:10:09 · 1283 阅读 · 0 评论 -
使用node获取本地ip及空闲的端口号
一、获取本地ip地址const os = require('os');function getIPAddress() { const interfaces = os.networkInterfaces(); for (const devName in interfaces) { const iface = interfaces[devName]; for (let i = 0; i < iface.length; i++) {原创 2021-11-01 10:05:46 · 2210 阅读 · 0 评论 -
consul在node中的实现
一、使用docker在本地电脑上启动安装consul1、安装dockercurl -fsSL https://get.docker.com | bash -s docker --mirror aliyuncurl -sSL https://get.daocloud.io/docker | shdocker version2、使用docker下载consuldocker pull consul3、启动服务docker run -d -p 8500:8500 -p 8300:83原创 2021-10-30 16:22:02 · 720 阅读 · 0 评论 -
在typeorm中对当前字段的更新
1、普通的sql语句update goods set count = count - 10 where id = 1;2、在typeorm中写法方式一// 使用mysql的乐观锁实现 async goods(): Promise<string> { const num = 90; const goodsInfo: Pick<GoodsEntity, 'count' | 'version'> = await this.goodsRepos..原创 2021-08-01 16:21:45 · 3277 阅读 · 0 评论 -
Nestjs中使用ElasticSearch操作数据
本人根据github上提供的案例中文分词地址,带大家用页面方式来操作,如果你还没配置好环境,可以参考我之前写的文章连接地址一、基本使用1、启动docker容器2、浏览器中输入http://localhost:9100/访问地址3、创建一个index索引(类似创建一个数据库)4、插入数据5、查询全部的数据注意要写_search并且内容体中不能有内容体6、根据_id修改数据内容体中你写什么就存入什么数据7、根据条件模糊查询数据二、在nestjs中集成原创 2021-03-31 20:47:31 · 2106 阅读 · 1 评论 -
面向切面编程实现Nestjs接口Api数据缓存
一、业务场景在后端接口开发过程中,我们经常会谈论的话题,提高接口响应速度,前端接口调用后端接口响应时间的缩短,我们抛开数据库设计及后端代码的业务逻辑等问题。我们经常会听到说用redis做数据缓存,直接从内存中获取数据返回给客户端,减少后端程序对数据库的操作,提高接口的性能。使用方式1、侵入式的方式,在需要缓存的接口代码里面不停的复制黏贴,将数据缓存到redis中,哪天如果不需要缓存了,又要去代码里面查找,删除2、采用面向切面编程的思想,使用装饰器(注解)的方式,在需要缓存的接口上加上注解的方式,re原创 2021-03-31 17:55:05 · 1218 阅读 · 0 评论 -
关于文件上传的那些事
阅读本文你将学会自定义上传按钮样式文件流方式上传文件文件转换为bs64上传大文件断点上传一、文件上传的两套方案1、基于文件流的方式上传格式:multipart/form-data数据格式:form-data文件流信息:file文件名字:filename2、客户端将文件转换为BASE64上传到服务器端二、使用文件流的方式上传文件1、前端页面(不使用elementui自带的上传组件)2、自定义上传按钮的原理<input type="file" s原创 2021-03-05 14:08:48 · 371 阅读 · 0 评论 -
使用腾讯云函数开发nestjs后端项目
一、关于云函数的介绍腾讯云云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码, 是实时文件处理和数据处理等场景下理想的计算平台。 您只需使用 SCF 平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。简单点概述就是以下几点不需要自己单独购买服务器,节省开支不需要你专门的运维人员,为企业节省开支自动扩容,不用但是访问量大服务器不够用根据访问量收费原创 2021-02-24 13:07:42 · 1650 阅读 · 1 评论 -
简单记录下扩展egg框架中ctx的属性的方法
一、直接使用扩展的方式1、在app文件夹下创建一个extend的文件夹,并且在下面创建一个context.js的文件2、context.js文件使用os模块获取当前操作系统的信息'use strict';const os = require('os');module.exports = { get info() { const data = { memory: os.totalmem() / 1024 / 1024 / 1024 + 'G', pla原创 2021-02-15 14:00:21 · 2824 阅读 · 2 评论 -
记录下typeorm中偏门用法
一、查询的时候定义别名return await getConnection().createQueryBuilder(WeiXinUserTicketEntity, 'userTicket') // .select(['userTicket.id', 'userTicket.userId', 'userTicket.activityTitle', 'userTicket.ticketName']) // 第一个字段是查询的,第二个是别名 .select('userTicket.userId',原创 2021-02-02 17:03:19 · 1545 阅读 · 0 评论 -
nestjs结合graphql开发入门
一、环境配置1、官网地址官网提供了两种方式来操作graphql传统的方式先定义schema直接使用typescript-graphql的对象方式来创建2、安装依赖包npm install @nestjs/graphql graphql-tools graphql apollo-server-express3、在app.module.ts文件中添加import { Module } from '@nestjs/common';import { AppController }原创 2021-01-03 17:33:54 · 1936 阅读 · 1 评论 -
使用typescript和express开发后台项目
一、环境的配置1、安装依赖包npm i express body-parser bcryptjs jsonwebtoken morgan cors validator helmet dotenv multer -Snpm install mongoosenpm i typescript @types/node @types/express @types/mongoose @types/bcryptjs @types/jsonwebtoken @types/morgan @types/cor原创 2020-09-03 15:41:07 · 1189 阅读 · 0 评论 -
nodejs操作mongodb之七(mongoose聚合函数的使用)
一、使用聚合函数多表查询和mongodb类似的1、定义schemaconst mongoose = require('./db');const OrderSchema = mongoose.Schema({ order_id: String, uid: Number, trade_no: String, all_price: Number, al...原创 2020-01-06 13:47:42 · 910 阅读 · 1 评论 -
nodejs操作mongodb之六(聚合函数的使用)
一、使用MongoDB聚合管道(Aggregation Pipeline)可以实现的功能1、使用聚合管道可以对集合中的文档进行变换和组合。2、实际项目:表关联查询、数据的统计。二、聚合管道的使用方式1、使用方式db.collection_name[表名].aggregate([{}, {},....])2、使用的效果展示三、基本的命令集合1、mongodb ...原创 2020-01-06 13:42:51 · 1634 阅读 · 0 评论 -
nodejs操作mongodb之五(数据校验)
一、数据校验的介绍在mysql数据库层面中常见的数据校验,非空字段二、mongoose中自带的数据校验1、required表示这个数据必须传入2、max用于Number类型数据,允许的最大值3、min用于Number类型数据,允许的最小值4、enum枚举类型,要去数据必须满足枚举值里面的其中一个5、match增加数据必须符合match的正则规则6、maxlength最大长度...原创 2020-01-06 13:38:07 · 734 阅读 · 1 评论 -
nodejs操作mongodb之四(方法的使用)
一、mongoose内置的CURD官网地址Model.deleteMany()Model.deleteOne()Model.find()Model.findById()Model.findByIdAndDelete()Model.findByIdAndRemove()Model.findByIdAndUpdate()Model.findOne()Model.findOneAnd...原创 2020-01-06 13:36:48 · 439 阅读 · 0 评论 -
nodejs操作mongodb之三(关于schema的使用)
一、schema默认参数很多时候我们会设置默认参数,不插入数据的时候就默认这个值1、封装好的连接数据库模块// 第一步const mongoose = require('mongoose');// 第二步连接数据库mongoose.connect('mongodb://root:123456@localhost/nest_cms', { useNewUrlParser: tr...原创 2020-01-06 13:33:29 · 2909 阅读 · 0 评论 -
nodejs操作mongodb之二(mongoose操作mongodb)
一、nodejs中使用mongodb1、mongoosejs文档2、安装包npm i mongoose --save二、mongoose使用的基本步骤1、安装包2、连接数据库const mongoose = require('mongoose');// 连接到数据库mongoose.connect('mongodb://localhost/nest_cms'...原创 2020-01-06 13:32:29 · 529 阅读 · 0 评论 -
nodejs操作mongodb之一(安装mongodb)
一、安装及配置密码登录1、下载地址2、创建一个超级管理员用户use admindb.createUser({ user:'root', pwd:'root', roles:[{role:'root',db:'admin'}]})# Successfully added user: {# "user" : "root",# "roles" : [# {...原创 2020-01-06 13:28:25 · 371 阅读 · 0 评论 -
nestjs开发对前端传递过来的数据进行校验
一、局部验证的方式1、安装包npm i --save class-validator class-transformer2、比如在cat的目录下创建一个dto的文件夹,创建一个create.cat.dto.ts的文件import { IsString, IsInt, MinLength, MaxLength } from 'class-validator';export c...原创 2019-07-24 14:54:28 · 6720 阅读 · 3 评论 -
nodejs处理页面跳转url地址的处理
一、提出问题1、在我们做项目中一般点击列表页面到详细页面需要把当前点击的列表id传递到详细页面2、详细页面根据列表页面传递过来的id获取具体内容 二、处理方式1、query查询方式在详细页面的url?id=xxx这样的方式2、静态文件处理(更适合SEO搜索引擎)url/xx三、query查询方式处理代码1、前端代码(ejs模板文件)<% for(let index in data){%>原创 2017-07-16 22:30:38 · 24171 阅读 · 2 评论 -
发布一个nestjs的项目,欢迎点赞
一、项目初始化1、下载原代码及安装依赖包2、根目录下创建一个.env的文件// 端口号PORT = 4000;// mysql数据库配置DB_TYPE = mysql;DB_HOST = localhost;DB_USERNAME = root;DB_PASSWORD = root;DB_DATABASE = test;DB_PORT = 3306;DB_SYNC...原创 2019-08-07 16:39:42 · 4821 阅读 · 2 评论 -
nestjs中typeorm事务操作的三种方式
一、数据库中事务操作的必要性在数据库操作中,如果涉及到多表关联、多表有关系操作的时候,我们就要进行事务处理,以免一张表的数据已经发生了修改,刚好发生了异常,造成另外一张表的数据不进行更新。常见场景两张表关联关系同时需要插入、删除数据银行转换一个表数据减少另外一个表的数据增加二、方式一、隐式commit,隐式rollback1、控制层的代码@Post()async creat...原创 2019-08-02 10:43:13 · 10400 阅读 · 4 评论 -
mongoose的增删改查操作
mongoose的增删改查操作简述: 上篇博文我们简单介绍了mongoose,并熟悉了mongoose的使用流程以及相关的一些概念性的东西,那么这篇博文我们接着介绍使用Mongoose进行增删修查的操作。案例采用的MongoDB文档结构: 下面的所有操作都将依赖上一篇博客的项目,并且新增一条age字段;Doc如下:保存数据: Model提供了一个create方法来对数转载 2017-12-30 16:53:03 · 678 阅读 · 0 评论 -
nodejs服务器端开发指koa2的使用
一、koa与express的认识1、他们都是node-web开发的框架2、koa分两个版本,一个是1.*的使用Generator来写的,另外一个版本是使用async来写的3、koa的官网比较简单传送门二、开始使用koa1、kao官网也介绍了,node的版本要大于7.6才可以使用async否则就要配置插件2、使用官方案例跑一个hello wordconst Koa = require("k原创 2018-01-01 17:03:55 · 2781 阅读 · 0 评论 -
GraphQL在koa2服务器端的使用案例
一、创建项目1、安装一些包npm install koa --savenpm install isodate --savenpm install koa --savenpm install koa-bodyparser --savenpm install koa-router --save// 处理跨域的作用npm install koa2-cors --savenpm instal原创 2018-01-01 17:05:17 · 3502 阅读 · 0 评论 -
使用typescript开发node服务端
使用typescript开发node服务器的基本配置一、使用工具或者环境1、window系统2、webstorm编辑器二、工具的基本配置1、配置webstorm根据配置文件自动编辑typescript文件三、创建一个项目的1、npm init -y生成一个package.json文件2、tsc --init生成tsconfig.json文件**基本的配置**{ "compi原创 2017-09-21 17:39:01 · 8762 阅读 · 0 评论 -
关于前端脚手架yeoman的使用
最近很多小伙伴想学习react,可是刚刚学习入门又要学习webpack,学习成本又增加了,今天介绍一个yeoman前端脚手架的使用1、yeoman中文官网网址2、全局安装yeomannpm install -g yo3、需要配置自己项目点击(寻找generators)里面搜索自己想要创建的项目4、创建一个react项目 1、搜索react-webpack选择安装量最多的2、根据里面的步骤安原创 2017-08-02 21:08:20 · 1647 阅读 · 0 评论 -
关于nodejs中密码加密的处理
一、关于node加密模块crypto的介绍 其实就是使用MD5加密的,不太安全,在实际开发中根据自己的方案进行加盐处理二、在路由视图中使用加密方式1、导入node自带的加密模块(不需要安装)//导入加密模块const crypto = require("crypto");2、做一个用户注册,密码加密的视图<div class="col-md-6"> <h4>用户注册</h4>原创 2017-07-15 14:49:19 · 12572 阅读 · 0 评论 -
nodejs开发中关于post提交数据
一、安装模块1、npm install body-parser --save二、在app.js中基本配置1、引入刚刚安装的body-parser模块//引入关于post提交数据的const bodyParser = require("body-parser");2、基本配置//设置用来接收json格式的数据app.use(bodyParser.json());//设置接收任何数据类型原创 2017-07-15 10:34:25 · 743 阅读 · 0 评论 -
nodejs开发中关于cookie及session的设置
一、安装cookie相关的模块1、npm install cookie-parser二、在app.js文件中配置cookie相关的内容1、引入模块文件//引入cookie文件const cookieParser = require("cookie-parser");2、设置密钥//设置cookie,其中()里面的是密钥,随便写app.use(cookieParser("aaa"))三、原创 2017-07-15 13:01:24 · 4206 阅读 · 0 评论 -
nest框架基本认识(一)
我们常用的node的框架有express、koa、Fastify、micro、keystone、nest等,一般市场上比较流行的是express和koa,如果你熟悉angular2+及喜欢用typescript或者你是做java开发的,我推荐用nest,本人也是更喜欢typescript的语法,尝试用这个框架开发东西,不过在日常项目中还是用的koa,官网地址一、项目的基本创建(个人建议直原创 2018-02-06 22:54:43 · 6984 阅读 · 0 评论 -
nest框架连接mongodb数据库
作为后端语言开发自然要连接数据库,对数据的增删改查,目前nest提供可以连接的数据库有mySQL和mongoDB,官网地址,本文介绍使用nest连接mongoDB数据库,官网介绍也很简单,官网提供的案例一、使用步骤1、安装依赖包npm install --save @nestjs/mongoose mongoose2、在项目中创建一个database作为数据库连接的文件/或者原创 2018-02-06 22:57:12 · 4361 阅读 · 0 评论 -
nestjs中使用typeorm-model-generator将数据库生成数据模型
一、关于typeorm-model-generator的介绍typeorm-model-generator简单点就是将现有的数据库中的表使用命令的方式自动生成typeorm的数据模型(注意前提是数据库要有表)目前支持的数据库有Microsoft SQL ServerPostgreSQLMySQLMariaDBOracle DatabaseSQLite二、使用方式1、全局...原创 2019-08-01 15:20:04 · 10915 阅读 · 2 评论 -
介绍一个好用的nodejs连接mysql的sdk
一、前面介绍前端使用node进行web开发,涉及到数据库的操作,我们常用的方法有 直接使用mysql包 使用orm工具包sequelizetypeorm针对前端小伙伴来说,不会原生sql语句的话,只能花时间去学习一些orm库的使用,但是本人不推荐使用orm。orm的初心很好,它试图完全将对象和数据库映射自动化,让使用者不再关心数据库。过度的封装一定会带来另外一个问题——隐藏...原创 2019-07-22 11:25:58 · 745 阅读 · 0 评论 -
nestjs对mysql数据库的基本操作
一、配置基本步骤1、安装基本的包npm install --save @nestjs/typeorm typeorm mysql2、安装一个环境包,区分开发环境与生产环境npm install cross-env3、在package.json包中配置环境..."scripts": { .... "start:dev": "cross-env NODE_EN...原创 2019-07-25 16:44:17 · 8709 阅读 · 2 评论 -
nestjs返回给前端数据格式的封装
一般开发过程中不不会根据httpcode来判断接口请求成功与失败的,而是会根据请求返回的数据,里面加上code字段一、返回的数据格式对比1、直接返回的数据格式{ "id": 1, "uuid": "cbbe7abc-b95e-48a0-8d24-b1ac93c45328", "name": "哈士奇1", "age": 12, "color":...原创 2019-07-25 10:14:49 · 8789 阅读 · 3 评论 -
一文搞懂eggjs中上传文件
一、基本的配置在eggjs中上传文件的官方文档1、配置上传的路由module.exports = (app) => { const { router, controller } = app; router.resources('file', '/api/v1/file', controller.file);};2、在config/config.defaul...原创 2019-06-21 15:31:33 · 11112 阅读 · 6 评论 -
记录一次在node中愉快的使用ES6的语法
一、基本步骤1、安装依赖包npm install @babel/runtimenpm install @babel/cli @babel/core @babel/node @babel/preset-env nodemon -D2、项目根目录下创建一个.babelrc的文件{ "presets": [ [ "@babel/preset-env", ...原创 2019-06-14 10:16:40 · 321 阅读 · 0 评论