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

开发一个简易版脚手架

  • 将脚手架命名为: 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 里面就看到不是软链,而是一个实实在在的目录了
相关推荐
一次旅行40 分钟前
DeepSeek‑V4.1‑Flash‑1017完整解读:模型升级+Search/Fetch搜索API开放,Agent开发者要注意哪些坑
前端·网络·人工智能
原则猫9 小时前
UDP 到底怎么实现可靠的
前端
Java后端的Ai之路9 小时前
14、ReactJS - 路由(Router)
前端·react.js·状态模式
裕晟资质规划11 小时前
三类涉密资质延续时限差异分析:军工60日与集成印制3个月的边界
java·服务器·前端·网络·安全
ShineWinsu11 小时前
对于JavaScript:JavaScript基础语法的解析
开发语言·前端·javascript·面试·web·基础语法·循环
月夏11 小时前
Vue3 转 React:18 项对照表 + 5 个必踩的坑(附 7 天上手路线)
前端
广州华水科技11 小时前
单北斗GNSS位移监测系统的应用与维护解析
前端
梦曦i11 小时前
uni-storage 0.1.0 发布:TTL过期管理+多实例隔离
前端·storage·uni-app x
猫头_12 小时前
AI 流式传输工程指南:模型吐出半截 JSON,前端如何边收边渲染?
前端·javascript·llm
console.log('npc')13 小时前
第 1 章 项目概述与环境搭建
前端·人工智能·大模型