1、lerna + npm link 软链的使用流程:
-
0、先将lerna 项目进行打包:执行项目全局的npm run build(会自动将每个包build),因为最终被引用的是lib(或其他编译打包好的文件),而绝不是源代码
-
1、先lerna link 将整个组件包link到全局node_modules(实际上只能软链主包,其他的
需要手动一个一个link,不是手动进入子包,而是直接在外部执行lerna bootstrap更新整个包的内部的依赖, 然后再次执行npm run build-> lerna link) -
2、将项目中的node_modules删掉(执行 rmdir /s node_modules)
-
3、在项目中使用: npm link 包名
-
4、再 npm install 其他的包
-
5、再 npm start
-
6、如果首次link成功了,那么后续的link只需要再次执行1、卸载原包(npm unlink),再重新npm link
2、lerna包发布流程及注意事项:
-
1、先在外部打包:npm run build (同6.0)
-
2、再git add . && git commit
-
3、再执行lerna publish,然后每一个包的gitHead值会发生改变,然后同时会发生两种情况:
- 1、npm登录成功 直接发布成功
- 2、npm登录失败 --> 依次进入每一个包内,手动发布:(cd packages/子包名 –> lerna ls (获取所有包)-> npm/cnpm/tnpm publish)
-
4、每一次发布,子包都会生成独立的包
8、锁包流程
当依赖包发生改变时,需要修改package.json 和 package-lock.json中的版本号,package-lock.json中的版本号是自动生成的,如何实现自动生成呢?
-
1、 先手动修改package.json中依赖包的版本号
-
2、 删掉node_modules (rmdir /s node_modules)
- 1、有时候删掉这个文件,锁包完成之后,重新install会导致一些包安装不上,有可能是-lock的原因,因此最好是同时把packages-lock.json也删掉(del -F packages-lock.json)
-
3、 执行:npm i 包名@版本号--package-lock-only
- a) 例如:npm i antd@4.0.0 --package-lock-only
- b) cnpm/tnpm 都不太行
- c) 如果依赖包是以多个包的形式存在的,就依次执行a
- d) 其实单独执行a的时候,实际上也会修改package.json中的版本号,同时也会修改-lock中的内容
- e) 如果包的源更换了,切换源的方法:npm i packageName --package-lock-only --registry=包源
-
4、再整体安装所有的包:npm/cnpm/tnpm i
-
5、然后就可以启动了:npm start
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!