Taro 多端框架贡献&npm打补丁

379 阅读2分钟

我正在参加跨端技术专题征文活动,详情查看:juejin.cn/post/710123…

前言:

随着Taro 生态的逐渐强大,Taro的开发者和Taro使用者 越来越多,但随着而来的也在社区看到许多问题,等待这个大家的修复。

我们作为Taro 早期的使用者,可能会想

  • 为Taro 的发展贡献一份自己的力量
    • 可以看第一节:# Taro 贡献指南、单步调试配置
    • Taro 接受各种形式的贡献,无论是提交一个重大改动,还是反馈一个问题或参加一次讨论,都能强化 Taro 的网络效应,让 Taro 变得越来越好用
  • 调试Taro 框架代码,
    • 可以看 第二节:link npm 包
  • 如果是遇到Taro的问题,又不好快速升版本,可以打补丁
    • 可以看 第三节:patch-package

一、Taro 贡献指南、单步调试配置

# Taro 贡献指南

# Taro 仓库概览

# Taro 单步调测配置

当我们按照上面的步骤拉取Taro代码、安装完依赖, 就可以继续 使用 link 来调试 taro npm 包了

二、link npm 包

我们在本地开发npm模块时,一般需要解决本地模块的调用测试,

比如现在开发模块A, 需要在自己的应用B里导入并使用。

那么我们就可以通过npm link的方式,将模块A链接到B对应的node_modules下面。

以修改 @tarojs/router 为例

1. 生成软链 yarn link

在 Taro 项目 taro/packages/taro-router 目录下 执行yarn link 把包链接到全局

我之前已经link 过了,所以会有下面的提示

image.png

2. yarn link "@tarojs/router"

这样我们的实际项目中就能使用 Taro 原项目中的

image.png

3. yarn unlink "@tarojs/router"

删除我们上面设置 @tarojs/router的软链

三、npm 包打补丁(修改  node_modules 中的源码的方式)

# 手动修改 node_modules 中的依赖包

1. 方式一、直接在 node_modules 中修改

这样每次 npm install 安装依赖后 都需要再次手动修改一次,在团队协作、代码发布部署 会有很大的不便

2. 方式二、将npm 包 拷贝一份,修改后重新上传为新 npm 包

npm 包 拷贝一份,修改后重新上传为新 npm 包,然后再引用。

这样做也有很多不便,比如自己单独封装既繁琐又耗时,而且还会造成项目看起来比较臃肿。

3. 方式三、patch-package(推荐)

patch-package让应用程序使用者可以立即对 npm 依赖项进行修复。

对于我们这些生活在最前沿的人来说,这是一个重要的创可贴。

官方文档:# npm: patch-package image.png

image.png

以修改 @tarojs/router 为例

npx patch-package @tarojs/router

image.png

会生成如下图这样的一个文件 image.png

在 package.json 文件中的 scripts 中加入 "postinstall": "patch-package"

这样 执行完npm install 就会立即执行 postinstall 的 patch-package

image.png

文章参考