脚手架的意义、使用方法和实现原理

脚手架的价值- 提升前端研发效能

  • 自动化:重复代码拷贝、git操作、发布上线操作
  • 标准化:项目创建发布流程
  • 数据化:是研发过程可量化,方便多人多团队协力开发

脚手架的执行流程

  • 脚手架的命令分四步:主命令 command option param
  • 主命令 : 终端(cmd、gitbase)解析主命令 在环境变量中找到主命令的位置,通过软链接找到真正执行的文件 然后执行命令
  • 解析commamd命令 并解析command后面的参数

脚手架开发

  • 建立npm项目 在package.json中加入bin属性设置脚手架入口
  • 发布项目到npm
  • 下载 npm项目后 会在node中设置软连接到bin属性中文件的位置,然后就可以执行了

脚手架本地开发调试

  • npm link 本地脚手架在node中安装
  • npm link (lib) 在node中安装(lib)另一个脚手架,并加入model
  • 要安装线上发布的脚手架是记得unlink本地的脚手架

用lerna管理大型项目的脚手架

  • lerna能极大的减少重复操作,能统一版本之类的问题,替身操作的规范性
  • 用lerna管理的脚手架一般用group上传npm 形如@xxx/xxx
  • 主要刘场如下图 image.png

lerna源码分析

  • 入口文件是package中的bin "lerna": "core/lerna/cli.js",而package的位置配置在lerna.json里面
  • 建立脚手架主要使用yargs

    yargs 的使用

  • 先建立yargs的对象
  • 然后对yargs进行设置 主要设置的参数有:option、alias、recommendCommands、strict
  • 然后对yargs进行command设置
  • 最后解析参数argv

    lerna通过配置本地依赖的方法进行本地开发,在packages中 写入形如file:helpers/calls-back ,在lerna publish中会将该地址变化

    node.js 模块路径解析流程-后续再看

git fork后如何同步、更新

  • git remote -v 查询是否添加了更新源,如果没有,upsteamgit remote add upstream xxxx.git 主项目url
  • git fetch upstream 更新
Copyright © imooc-lego (2020 - present) all right reserved,powered by GitbookFile Modify: 2021-06-27 08:04:56

results matching ""

    No results matching ""