node/npm
node、express、koa、nest、egg、npm等等
卷王出征
应届菜狗
展开
-
某某公司CodeReview工具链
某某公司codereview工具链研发流程原创 2022-06-23 17:23:17 · 2716 阅读 · 3 评论 -
实现一个webpack plugin代替jenkins的CD
背景去年的时候针对自己的线上项目搞过jenkins,但是jenkins一直获取不到github上的项目,加上自己的项目迭代比较慢(两个月一推代码),平常的公司需求又比较多,所以就搁置了。这两天想起来这个事,又在复习webpack,突然想到我可不可以实现一个webpack plugin,在打包的时候上传webpack的产物到线上node服务上,然后node服务把产物写入服务器的指定文件夹,这样的话不也实现CD(持续部署)了吗,感觉理论上是可行的。目的1. 再次复习webpack plugins相关原创 2022-05-19 09:05:36 · 195 阅读 · 1 评论 -
静态加载、动态加载、同步加载、异步加载
动态加载和静态加载指的是什么时候加载,动态加载是运行时加载(CommonJS),静态加载是编译(预编译)时加载(ES6)。当然es6也提供的动态加载,即import() 。动态加载:require() 、import()静态加载:import同步加载还是异步加载指的是加载的方式。 静态加载中都是同步加载的。动态加载中CommonJS的require是同步的。而es6import()是异步的。同步加载:import 、 require()异步加载:import()、 require(['xxx'原创 2022-04-02 16:34:15 · 1669 阅读 · 3 评论 -
自定义vue组件 和 自定义vue组件npm包
自定义组件 <div id="components-demo" style="margin-top:10px"> <button-counter></button-counter> </div>import Vue from 'vue';Vue.component('button-counter',{ template: '<button @click="count+=1">点击了{{count}}次</but原创 2022-03-08 16:17:43 · 1105 阅读 · 1 评论 -
express接入log4
前言前端时间,我的 综合管理平台 前端接入了sentry,并且还在打包时上传了Sourcemap,前端的异常能够非常快速的定位,在这篇文章我要介绍下 综合管理平台 后端接入log4(打印日志)与sentry,帮我们快速定位到后端错误。安装 npm install log4js --save 配置...原创 2021-09-08 16:23:52 · 259 阅读 · 0 评论 -
node项目接入redis
安装百度网盘下载地址:Redis-x64-3.2.100.zip 密码:kdfq进入到解压的目录,下载部署服务redis-server --service-install redis.windows.conf开启服务redis-server --service-start开发1. node中使用redisnpm i redis --save2. 引入// 接入Redis,存储与获取历史消息(相比数据库)更快,损耗更少const redis = require("redi原创 2021-08-28 20:58:37 · 1190 阅读 · 0 评论 -
express中间件与nest中间件
我所理解的中间件就是在请求打过来的过程中,对请求或者请求内容(req.body、req.query)做一些特殊处理。并且,中间件一定是函数。比如,body-parser,会特殊处理post请求,使得express支持post请求比如,Check.checkToken请求,会对打过来的请求的请求头进行token校验,如果存在token,就放行,否则返回 “你没有权限”...原创 2021-08-20 13:35:28 · 321 阅读 · 0 评论 -
学习nest之后的一些感悟
装饰器最新写nestjs项目时,接触到很多装饰器,今天对装饰器来个详细的纪录装饰器本身是一个函数,我觉得他最直接的意思就是 给当前类、函数、字段、参数格外的功能。由于目前装饰器概念还处于提案阶段,不是一个正式可用的JS功能,所以想要使用这个功能,不得不借助翻译器工具,例如Babel工具或者TypeScript编译JS代码转后才能被执行。IOC与DI控制反转(Inversion of Control,缩写为IOC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。(最简单的就是分原创 2021-08-03 21:52:23 · 166 阅读 · 0 评论 -
从0开发一个自己的npm包
之前写过一些npm包,但是每次都会忘记具体流程,今天做个简单记录。一、注册npm账号https://www.npmjs.com二、开发自己的npm包1. 初始化npm包npm init生成package.json文件{ "name": "create-random-value", "version": "1.0.0", "description": "通过传参生成指定长度的随机字符串", "main": "index.js", "scripts": { "tes.原创 2021-07-03 22:05:09 · 190 阅读 · 0 评论 -
nrm的安装与使用
安装使用命令差不多跟nvm一样安装npm install nrm -g查看当前源nrm current查看所有源nrm ls使用某个源nrm use 某个源(源名)添加某个源(npm add 源名 源地址)nrm add baidu www.baidu.com删除某个源nrm del 某个源(源名)测试某个源的响应时间nrm test npm...原创 2021-03-30 16:57:05 · 114 阅读 · 0 评论 -
nvm的下载、安装与使用
1. nvm的作用进行多个node版本的管理,因为有多个项目node版本可能不一致,需要nvm来管理2. nvm下载地址https://github.com/coreybutler/nvm-windows/releases3. nvm安装nvm-noinstall.zip: 这个是绿色免安装版本,但是使用之前需要配置nvm-setup.zip:这是一个安装包,下载之后点击安装,无需配置就可以使用,方便。Source code(zip):zip压缩的源码Sourc code(tar.gz):原创 2020-11-25 12:05:11 · 4926 阅读 · 1 评论 -
Buffer缓冲器
buffer缓冲器1.js数组中不能存储文件的二进制数据,buffer专门用来存储二进制数据2.buffer是 global的全局成员 不需要引入模块 直接使用3.buffer中存储的是二进制数据 但是在显示(打印 输出时)的时候是以16进制显示...原创 2020-11-13 15:47:19 · 533 阅读 · 0 评论 -
使node支持es6语法
下载babel转化npm install --save-dev babel-core babel-register babel-preset-es2015根目录添加.babelrc 文件,内容如下// .babelrc{ "presets" : ['es2015']}在index文件内//index.js require('babel-register');require('./app.js') ...原创 2020-10-08 09:30:41 · 260 阅读 · 0 评论 -
node+vue项目开发时用到的一些命令
一. 开发前的准备1. 下载node官网:http://nodejs.cn/download/检测node版本 命令行 : node-v检测npm 命令行 :npm -v2.全局安装webpack命令行 : npm install webpack -g3.全局安装脚手架(vue-cli)命令行 :npm i...原创 2020-03-30 11:54:13 · 307 阅读 · 0 评论 -
node中使用import/export
安装 babel-register 与 babel-preset-es2015yarn add babel-register babel-preset-es2015 --dev创建index.js,将app.js引入//start.jsrequire('babel-register') ({ presets: [ 'es2015' ]})module.exports = require('./app.js')原创 2020-08-18 12:44:23 · 370 阅读 · 0 评论 -
express中不能直接处理json数据,不能使用post、put等功能
express中不能直接处理json数据,不能使用post、put等功能可以添加以下代码://处理post请求,解析json数据const bodyParser = require('body-parser')app.use(bodyParser.json());app.use(bodyParser.urlencoded({extended: false}));...原创 2020-08-20 11:09:53 · 612 阅读 · 0 评论