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 是一个基于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