rument脚手架开发

脚手架地址:www.npmjs.com/package/rum...

一、目标功能

一期:

  • 支持antd
  • 请求代理的样例
  • dispatch更新数据和请求结合在一起,实现页面渲染和数据以及请求分离
  • 错误捕获,实现错误时,只对局部有影响
  • 自动生成changelog,并更新版本
  • 脚本命令执行,拉取umi模版,生成新的项目,并安装完依赖

二期(非破坏性):

  • 本地启动增加自动打开浏览器
  • 支持Next.js、umi、dumi两种框架模版
  • 脚本名称生成模块
  • 自带一些公用的组件,table+pagination
  • ts dumi增加全局前缀变量(js,less) 三期(破坏性):
  • lerna+monorepo,在创建项目时,可以选择,或者在创建项目之后,一键转换。(微前端)

四期(破坏性):

二、一期功能实现

1、支持antd

2、实现脚手架

(1)核心依赖

  • commander 命令行工具
  • download-git-repo git仓库代码下载
  • chalk 命令行输出样式美化
  • inquirer 命令行交互
  • ora 命令行加载中效果
  • cross-spawn 执行依赖安装命令

(2)实现过程

a、创建bin/index.js文件

b、package.json的配置

json 复制代码
  "bin": {
    // 执行runt命令时,执行的文件
    "runt": "./bin/index"
  },
  // 要上传到npm上的包文件
  "files": ["bin", "dist/**/*.js"],

三、二期功能实现

四、三期功能实现

问题: 1、npm login Enter one-time password from your authenticator app npm强制开启2FA验证了, npm页面的右上角头像,点击Account, 点击Modify 2FA, 我选择了Authenticator app,会出现一个二维码,手机下载Microsoft Authenticator,扫描改二维码,会出现一个验证码,将该验证码添加到npm页面二维码下方的输入框中,保存。

在本地使用npm login时,出现上方提示时,也是取Microsoft Authenticator中的二维码输入即可。

2、执行release-it,一直超时

解决:一直试。

3、ERROR User 用户名 is not a collaborator for runt. 这是因为package.json中没有写private为false。

4、

解决:

  • 首先测试一下Git是否能正常访问ssh.github.com。 ssh -T -p 443 git@ssh.github.com 如果出现以下提示,则说明成功: Hi aftermath0703! You've successfully authenticated, but GitHub does not provide shell access.

  • sudo vim ~/.ssh/config

  • 加入一下信息: Host github.com Hostname ssh.github.com Port 443 User git

  • 测试Git是否能成功连接了 ssh -T git@github.com 如果出现Hi aftermath0703! You've successfully authenticated, but GitHub does not provide shell access. ,说明成功。

5、复制的.gitignore 不生效

sql 复制代码
git rm -r --cached .
git add .
git commit -m 'update .gitignore'

6、当没有单独使用npm publish发布过的包,使用release-it是不会有publish这一步的,即使配置了。

参考资料: 1、

相关推荐
掘金挖土20 分钟前
前端手摸手跑路之 AI 应用开发(九)
前端·后端
中文呀3 小时前
三维 GIS 离线缓存实战:逆向 CesiumOfflineCache,并亲手为它补上"自动更新"能力
前端
前进前进前进3 小时前
TRAE 全链路实战:做了一个警示牌一键生成器:纯 Canvas、单文件、零依赖
前端
小万7424 小时前
God‘s Eye View 深度解析:15 路公开信号 + CesiumJS 的浏览器级 OSINT 控制台,60 帧渲染的“真实间谍卫星模拟器”
前端
IT星宿5 小时前
浏览器标签页全是一个图标:我用名字哈希生成 favicon,让每个项目都有身份标识
前端
全栈项目管理程序猿5 小时前
ArcGIS JS 基础教程(32):体元系列 - VoxelSlice 体元切片
前端·javascript
拖孩7 小时前
AI 帮我写的小程序「厨菜记」上线满月了,挣了两百块!!!
前端·后端·微信小程序
用户360055579007 小时前
Kestrel_VLLM - 13 · 为什么排除 MoE FFN Tiling 与 Tensor Core
前端
Hilaku7 小时前
AI 流式输出都用 SSE,什么时候必须换 WebSocket?
前端·javascript·程序员
奇牙coding7 小时前
Codex CLI 升级后多文件编辑静默失效:config.yaml 枚举变更排查与修复指南
java·前端·javascript·ai