使用lerna搭建脚手架项目

2021-05-30 15:50 nodejs 526 0
一、初始化项目1.创建脚手架文件夹执行npminit-y初始化项目2.全局安装lerna使用npmilerna-g全局安装lerna3.初始化lerna项目使用lernaini初始化项目这步需要装有git才可以执行,初始化完成后生成lerna.json以及packages文件夹4.新建.gitignore文件将一些无需上传的文件忽略二、创建packages1.创建脚手架主文件使用lernacreatecore创建脚手架主文件其中各选项意义如下packagename项目名不能和已有npm包重名,我们这里使用@orgName/npmName,是指通过建立orgName组织方式发布npm包version版本号起始1.0.0就okdescription描述keywords关键词homepage文件目录,可不填entrypoint主入口,由于我们这里是脚手架主文件,无需配置但是之后创建模块的时候需要填写主文件入口,之后会演示gitrepositorygit仓库,可不填然后回车即可创建成功2.创建脚手架工具包使用lernacreateutils创建脚手架工具包创建过程如上三、lerna使用方法1.安装依赖包lernaadd<package>[@version][--dev][--exact][--peer]我们这里以lodash为例,可以选择只安装到utils包里面,输入lernaaddlodashpackages/utils如果需要安装到所有包里,直接不指定包名即可lernaaddlodash2.删除依赖包有时候我们需要删除依赖包,则使用lernaclean即可注意:删除后如果需要再重新添加相同依赖包,需要将对应包下面的package.json里的dependencies里的依赖包名删除3.重新安装依赖lernabootstrap这样会帮我们安装package.json里的dependencies依赖项4.链接依赖lernalink主要是将本地包进行相互引用比如我们需要在core里引入utils包,则可以现在core包的package.json的dependencies里添加utils的依赖"dependencies":{"@passerma-lerna-cli-test/utils":"^1.0.0"}然后使用lernalink即可然后我们可以看到core包里多了个node_modules文件夹,里面的@passerma-lerna-cli-test/utils软链接到了本地的utils包5.执行shell脚本lernaexec--<command>[..args]#runsthecommandinallpackages该命令运行的目录为packages目录里的每个包默认是所有包都执行,比如可以在每个包里新建一个test文件夹结果如下也可以指定某个包,使用lernaexec--scope@passerma-lerna-cli-test/utils--rm-rftest注意输入的为package.json里的包名结果如下,只删除了utils下的test目录6.执行npm脚本lernarun<script>--[..args]#runsnpmrunmy-scriptinallpackagesthathaveitlernaruntestlernarunbuild四、发布脚手架1.注意事项在发布前,我们需要将代码commit到git仓库上,可以选择任意一款远程仓库2.查看变更包,哪些包将会发布lernachanged可见,我们新创建的两个包都会发布3.查看变更代码lernadiff[package]lernadiff#diffaspecificpackagelernadiffpackage-name修改代码,再使用命令即可查看diff信息4.变更版本号lernaversion1.0.1#explicitlernaversionpatch#semverkeywordlernaversion#selectfromprompt(s)5.发布lernapublish#publishpackagesthathavechangedsincethelastreleaselernapublishfrom-git#explicitlypublishpackagestaggedinthecurrentcommitlernapublishfrom-package#explicitlypublishpackageswherethelatestversionisnotpresentintheregistry注意,如果是公共npm包,需要在package.json加上"publishConfig":{"access":"public"}发布前需要先登录npm,使用npmadduser注意:同时要先在npm官网创建组织,及@符号后面/前面的组织名运行发布,需要选择版本号,如下6.创建脚手架在core下新建bin文件夹在bin里新建index.js文件#!/usr/bin/envnodeconsole.log('这是一个脚手架')然后配置命令,在core里的package.json,添加"bin":{"passerma-cli-test-lerna":"bin/index.js"},名字即为脚手架名字,值为脚手架入口文件位置提交git仓库,然后lernapublish7.安装脚手架npmicli-name-g然后使用输入之前配置bin的命令名字至此,脚手架框架的搭建及发布已完成,接下来就是编写自己的脚手架了
暂无评论,我会出手
说点什么
登录用户可以修改和删除评论,可以收到回复的邮件提醒点击登录/注册
最多上传8张图片,仅支持jpg,png格式图片,单张大小5MB以内!
用户名: