Xshellv Blog

「没有梦想,何必远方」

webpack实现一个简单的npm包并发布

webpack踩坑日记

本文主要为了记录 webpack5 打包 bundle 并发布过程中踩过坑。 webpack 配置这里主要列出了 webpack.config 中的关键点,这里比较坑的点是 externals,左边是排除的包名,右边是 xshellv-hooks 在实际场景中引入所在项目的包名,这里如果写成大写的 React 会发现打包后的代码中有 require('React') 的写......

docker网络桥接实现代理转发

docker网络桥接实现代理转发

有时候我们的docker会开启多个容器,并且这些容器之间经常会有千丝万缕的联系,比如本章介绍的nginx代理转发至另一容器端口,这里我们介绍其中一种方法: network_mode: bridge 。 koa项目配置这里的配置在上一章节已经配置过了,具体可点击docker结合pm2实现自动化部署 12345678910version: "3.1"services: ps: // 容器别......

typescript泛型疑难杂症——extend

extend以泛型传入自动分发成联合类型

先看下面的这个例子: 1、 条件类型 123type IType = 'a' | 'b' | 'c'type IType2 = 'a' | 'c'type Diff1 = IType extends IType2 ? never : IType // ? 2、 分布式条件类型 12type Diff2<T, U> = T extends U ? never : Ttype T1 ......

docker结合pm2实现自动化部署

docker结合pm2实现自动化部署

本章主要介绍docker结合pm2以及webhooks实现自动化部署,主要需要注意卷映射路径和问题。 docker相关配置配置 Dockerfile123456789# Dockerfile FROM keymetrics/pm2:latest-alpineADD . /server/ WORKDIR /server RUN npm installEXPOSE 8000#pm2在doc......

typescript结合prettier实现代码检测

typescript结合prettier实现代码检测

我们在多人团队开发中经常为了保持代码的统一规范对项目进行 eslint 配置,本章主要就是介绍该配置过程: package.json 中安装依赖如下:12345678910{ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.32.0", "@typescript......

CentOS7防火墙相关操作

CentOS7防火墙相关操作

操作firewalld 的基本使用12345678910# 启动:systemctl start firewalld# 关闭:systemctl stop firewalld# 查看状态:systemctl status firewalld# 开机禁用:systemctl disable firewalld# 开机启用:systemctl enable firewalld systemctl......

koa实现静态资源部署

koa部署静态资源以及避免刷新404

本文主要介绍了使用 Koa 进行静态资源部署,解决刷新404的问题。并且在设计service api路由的情况下,保证与静态资源互不影响。 koa-static介绍koa-static 就是koa中最常用的、较为成熟的静态web托管服务中间件 ,在koa中常用于比如html、css、js等资源: 12345// 使用const koaStatic = require("koa-stati......

docker自动化部署

docker使用方法窥探

Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。 Docker图解工作流程 Client(Docker客户端)Docker客户端是 Docker的用户界面,它可以接受用户命令和配置标识,并与 Docker......

mac免密登陆centos服务器

免密登陆密钥配置后同时在本机新增config配置

最近想把自己的主机跟远程服务器实现免密登陆,经过网上的一番搜索后发现自己还是失败了,最终发现本机并没有将远程配置信息加入本机config当中,然后每次登陆都跳过公私钥配对。 目标及原理目标我们的目标很简单,在命令行输入ssh 用户名即可登陆远程服务器。 原理在了解免密登陆之前我们先简单了解下ssh的登陆过程,大概就是client向server发起连接请求时,server将公钥返回给cli......

判断环形链表

快慢指针法解决链表问题

本文用于记录使用快慢指针法解决链表问题。 环形链表给定一个链表,判断链表中是否有环,如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。 哈希表设计一张......