前端架构: 简易版脚手架开发

开发一个简易版脚手架

  • 将脚手架命名为: xyzcli, 这个名称比较随意,截止在目前,我看到npm上没有这个包,尽量避免重名

  • 初始化

    • $ mkdir xyzcli
    • $ cd xyzcli
    • $ npm init -y
  • 新建 bin/index.js

    js 复制代码
    #!/usr/bin/env node
    
    console.log('xyzcli')
  • 回到 package.json 中配置

    js 复制代码
    {
      "bin": {
        "xyzcli": "bin/index.js"
      }
    }
  • 发布到 npm

    • $ npm login
    • $ npm publish
  • 去 npm 网站,我的 packages 下去查看

验证刚刚发布的包

  • 安装 $ npm i -g xyzcli
  • 执行 $ xyzcli
    • 可看到输出 xyzcli
  • 这个命令的原理就是创建一个软链,之前也讨论过:
  • 通过 $ which xyzcli 可看到 命令所在的路径
  • 通过 $ ll 该路径 可看到当前 xyzcli 已经被安装到了 /.../xx/node_modules下了
  • 这个 node_moudles 就是我们最顶层的node_modules, 也就是全局安装的 node_modules
  • cd 到该 node_modules 下,执行 $ ll
  • 可以看到有一个 xyzcli 软链到我们本地项目的 xyzcli 目录下
    • 创建软链的原因,是本地已经有这个代码,它会自动创建这个软链,即使把本地代码删除,也没有问题
    • 因为本地代码已经被发布到 npm 上了
  • 这里的软链指向本地的代码仓库
    • 如果在当前目录下存在一个与安装的cli相同的目录
    • 就会把这个目录作为一个软链直接链过去
    • npm 这样做的方式,提供了一种非常智能化的功能,方便对我们当前开发的脚手架进行一个本地的开发调试
    • 此时,如果我们直接改动本地脚手架项目的代码,是会实时发生变更的,方便全局调试
  • 如果不希望安装这种软链,而是安装远程的版本,则离开当前目录,找不到本地同名的脚手架项目目录即可
  • 重新安装后,还到全局的 node_modules 里面就看到不是软链,而是一个实实在在的目录了
相关推荐
llz_1125 小时前
web-第五次课后作业
前端·后端·http
恋猫de小郭6 小时前
Redis 作者反驳「中国模型之所以强,是因为通过 API 蒸馏了美国模型」
前端·人工智能·ai编程
Darling噜啦啦6 小时前
Canvas 游戏开发与数据可视化实战:从飞机大战到 ECharts 报表
前端·echarts·canvas
OpenTiny社区7 小时前
这次更新太良心!GenUI SDK v1.2.0 轻量化 + 稳流式 + 超强 Playground
前端·vue.js·ai编程
梨子同志7 小时前
WebGL test
前端
程序员黑豆7 小时前
AI全栈开发系列开篇:从Java全栈到AI应用实战
前端·ai编程·全栈
yangyj7 小时前
从 PDR 到落地:用 Codex 完成一次 Rspack 升级
前端
程序员鱼皮7 小时前
提示词工程已死,Loop Engineering 称王!保姆级教程 + 项目实战
前端·后端·ai编程
小爷毛毛_卓寿杰7 小时前
给 Embedding 模型也加一块“游乐场“—— Xinference 是怎么把 vector 变成肉眼可见的体验的
前端
忆江南7 小时前
iOS 性能优化全面详解
前端