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

开发一个简易版脚手架

  • 将脚手架命名为: xyzcli, 这个名称比较随意,截止在目前,我看到npm上没有这个包,尽量避免重名
  • 初始化
    • $ mkdir xyzcli
    • $ cd xyzcli
    • $ npm init -y
  • 新建 bin/index.js
    #!/usr/bin/env node
    
    console.log('xyzcli')
    
  • 回到 package.json 中配置
    {
         
      "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 里面就看到不是软链,而是一个实实在在的目录了

相关推荐

  1. 前端架构: 简易脚手架开发

    2024-02-14 02:32:02       35 阅读
  2. 前端架构: 脚手架开发流程中的难点梳理

    2024-02-14 02:32:02       32 阅读
  3. NPM包脚手架开启前端开发新纪元

    2024-02-14 02:32:02       39 阅读
  4. 前端架构: 本地调试脚手架的2种方式

    2024-02-14 02:32:02       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-14 02:32:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-14 02:32:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-14 02:32:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-14 02:32:02       20 阅读

热门阅读

  1. 2024/2/8

    2024-02-14 02:32:02       29 阅读
  2. <s-table>、<a-table>接收后端数据

    2024-02-14 02:32:02       29 阅读
  3. 【无标题】

    2024-02-14 02:32:02       28 阅读
  4. 水题中的稀奇古怪trick合集

    2024-02-14 02:32:02       38 阅读
  5. 数据治理领域的框架、标准与模型

    2024-02-14 02:32:02       36 阅读
  6. 前端架构: 本地调试脚手架的2种方式

    2024-02-14 02:32:02       32 阅读
  7. 极其抽象的路由

    2024-02-14 02:32:02       26 阅读
  8. 蚁群算法实现

    2024-02-14 02:32:02       32 阅读
  9. 突破编程_C++_基础教程(输入、输出与文件)

    2024-02-14 02:32:02       21 阅读