Skip to content

feiyan-Nan/feiyan-cli

Repository files navigation

脚手架开发流程详解

npm run init 初始化项目

npm run dev 开发环境

  • 创建npm项目
  • 创建脚手架入口文件, 最上方添加:
#!/usr/bin/env node
  • 配置package.json, 添加bin属性
  • 编写脚手架代码
  • 将脚手架发布到npm(如果要进行本地调试, 直接使用npm link创建一个软连接即可)

链接本地脚手架

cd your-cli-dir
npm link

链接本地库文件到本地脚手架:

cd your-lib-dir
npm link
cd your-cli-dir
npm link your-lib

Lerna

Lerna 是一个基于git+npm的多package(多个npm包)项目的管理工具

优势
  • 大幅减少重复操作
  • 提升操作的标准化

Lerna是架构优化的产物, 它揭示了一个架构真理: 项目复杂度提升后, 就需要对项目进行架构优化, 架构优化的主要目标往往都是以效能为核心的

lerna add axios --scope=@feiyan-cli/core
lerna add @feiyan-cli/core --scope=@feiyan-cli/fetch 把@feiyan-cli/core放到@feiyan-cli/fetch中

原生脚手架开发痛点分析

npm i @typescript-eslint/eslint-plugin @typescript-eslint/parser chalk eslint eslint-config-airbnb eslint-config-prettier eslint-plugin-babel eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-jsx-a11y eslint-plugin-prettier eslint-plugin-react eslint-plugin-typescript -D

lerna add @feiyan-cli/dev-utils --scope=@feiyan-cli/cli