使用pnpm创建一个monorepo仓库
关于monorepo 简单来说monorepo就是将多个项目(有关联)放到一个仓库,其好处最明显的就是解决代码复用的问题和开发流程的统一。 至于更多关于monorepo管理方式,网上也有很多文章介绍,此文的主要目的是记录一下初始化过程。 创建项目 新建目录并初始化(项目名以kklearn为例) 1pnpm init 接下来在生成的package.json文件中写入字段来限制使用pnpm等 1234567891011121314151617{ "name": "kklearn", "version": "1.0.0", "description": "", "private": true, "engines": { "node": ">=16", "pnpm": ">=7" } ...
前端Coder手中的Docker
在服务器中安装 Docker 在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装,另外可以通过 --mirror 选项使用国内源进行安装:执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker 的稳定(stable)版本安装在系统中。 12curl -fsSL get.docker.com -o get-docker.shsudo sh get-docker.sh --mirror Aliyun 安装完成后的推荐操作 启动 docker 12sudo systemctl enable dockersudo systemctl start docker 创建 docker 用户组 1sudo groupadd docker 将当前用户加入 docker 组 1sudo usermod -aG docker $USER 测试 docker 安装是否正确 1docker run hello-world 修改镜像 登录阿里容器镜像服务 查看加速地址 设置加速服务 ...
Github之Actions自动发布GitHub Release
前言 此文以node项目为例,目录存在package.json,其他项目如果参考本教程需自行创建json文件用于记录当前版本。 123{ "version":"1.1.1"} 上述代码仅作为JSON文件示例。 先来看看actions官方提供的发布demo 1234567891011- name: 创建GitHub Release id: create_release uses: actions/create-release@latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: tag的名称 release_name: 发布的名字 body: 发布的内容 draft: false prerelease: false 以上几个需要我们自己填写的只有tag_name、release_name、body。因此我们只需要动态获取这三个变量即可实现按照我们的需求进行发 ...
Github之Actions自动发布npm包
前言 在将我们的源代码推送到GitHub时并希望他能自动构建并将包发布到npm。 其实做法也简单,大致思路:获取仓库源代码->安装插件->构建->推送 一、生成TOKEN 这一步很重要,在npm中生成自己的TOKEN。TOKEN类型一定要选择Automation,生成后将其保存,因为一会儿要在GitHub密钥中填写这个值。 二、配置仓库secrets 进入你的代码仓库,单击设置 点击Secrets,并新建一个键为NPM_TOKEN,值为上一步生成的TOKEN的密钥 三、编写构建配置 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748name: Node.js Packageon: push: branches: - masterjobs: publish-npm: runs-on: ubuntu-latest strategy: matrix: node-versi ...
Gulp4简单使用
简介 gulp 是前端自动化打包构建工具,所谓打包可以理解为把文件压缩, 整合, 移动, 混淆。gulp 是一种基于流的打包构建工具。 文档:https://www.gulpjs.com.cn/docs/api/concepts/ 使用 gulp,首先要全局安装gulp,全局安装只是可以使用其命令 123456# 安装npm install --global gulp# 卸载npm uninstall --global gulp# 查看版本gulp -v 也可以局部安装,通过scripts运行。 常用 API task() 创建一个基于流的任务 123gulp.task('htmlHandler', function () { // 找到 html 源文件, 进行压缩, 打包, 放入指定目录}) src() 找到源文件 1234567891011121314// 找到指定一个文件gulp.src('./a/b.html')// 找到指定目录下, 指定后缀的文件gulp.src('./a/*.html ...