Skip to content

Commit

Permalink
docs: ✏️ taro 文章等更新
Browse files Browse the repository at this point in the history
  • Loading branch information
ruochuan12 committed Sep 11, 2024
1 parent 79fb742 commit 740d435
Show file tree
Hide file tree
Showing 5 changed files with 132 additions and 4 deletions.
8 changes: 4 additions & 4 deletions docs/axios-build/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ npm i

hooks,这里我简单画了一个图。

![思维导图](./images/npm-run-release.png)
![思维导图](./images/npm-run-release@若川.png)

#### 3.1.1 before:init

Expand Down Expand Up @@ -373,7 +373,7 @@ export {
## 5. gulp clear && cross-env NODE_ENV=production rollup -c -m

- gulp clear

```js
// 清空打包后的 dist 目录
const clear = gulp.task('clear', async function() {
Expand Down Expand Up @@ -466,7 +466,7 @@ const buildConfig = ({es5, browser = true, minifiedVersion = true, alias, ...con
// 压缩
minified && terser(),
minified && bundleSize(),
// 使用 babel
// 使用 babel
...(es5 ? [babel({
babelHelpers: 'bundled',
presets: ['@babel/preset-env']
Expand Down Expand Up @@ -595,7 +595,7 @@ export default async () => {
`rollup` 打包生成四种格式的文件。

如图所示:
![npm-run-release](./images/npm-run-release.png)
![npm-run-release](./images/npm-run-release@若川.png)

---

Expand Down
14 changes: 14 additions & 0 deletions docs/taro/native-apis/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,17 @@ function equipCommonApis (taro, global, apis: Record<string, any> = {}) {
taro.getApp = getApp || nonsupport('getApp')
taro.env = global.env || {}

// 添加request 和 拦截器
// request & interceptors
const request = apis.request || getNormalRequest(global)
function taroInterceptor (chain) {
return request(chain.requestParams)
}
const link = new taro.Link(taroInterceptor)
taro.request = link.request.bind(link)
taro.addInterceptor = link.addInterceptor.bind(link)
taro.cleanInterceptors = link.cleanInterceptors.bind(link)

try {
taro.requirePlugin = requirePlugin || nonsupport('requirePlugin')
} catch (error) {
Expand All @@ -503,6 +514,9 @@ function equipCommonApis (taro, global, apis: Record<string, any> = {}) {

`isOnlyPromisify` 参数为 `true`,表示只 `promisify`

添加一些公共的 API。`request` 和拦截器等。`request` 这部分的具体实现,相对比较复杂,我们后续再单独写一篇文章来讲述。
[Taro 文档 有这些 API](https://taro-docs.jd.com/docs/next/apis/framework/getCurrentPages)

### 9.4 @tarojs/plugin-inject 插件注入公共的组件、API 等逻辑

我们可以搜索 `taro` 源码中 `isOnlyPromisify` 查找到 `processApis` 传入 `isOnlyPromisify``true`。只在 [@tarojs/plugin-inject](https://github.com/NervJS/taro/blob/main/packages/taro-plugin-inject/README.md) 插件使用
Expand Down
14 changes: 14 additions & 0 deletions docs/taro/native-apis/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,17 @@ function equipCommonApis (taro, global, apis: Record<string, any> = {}) {
taro.getApp = getApp || nonsupport('getApp')
taro.env = global.env || {}

// 添加request 和 拦截器
// request & interceptors
const request = apis.request || getNormalRequest(global)
function taroInterceptor (chain) {
return request(chain.requestParams)
}
const link = new taro.Link(taroInterceptor)
taro.request = link.request.bind(link)
taro.addInterceptor = link.addInterceptor.bind(link)
taro.cleanInterceptors = link.cleanInterceptors.bind(link)

try {
taro.requirePlugin = requirePlugin || nonsupport('requirePlugin')
} catch (error) {
Expand All @@ -503,6 +514,9 @@ function equipCommonApis (taro, global, apis: Record<string, any> = {}) {

`isOnlyPromisify` 参数为 `true`,表示只 `promisify`

添加一些公共的 API。`request` 和拦截器等。`request` 这部分的具体实现,相对比较复杂,我们后续再单独写一篇文章来讲述。
[Taro 文档 有这些 API](https://taro-docs.jd.com/docs/next/apis/framework/getCurrentPages)

### 9.4 @tarojs/plugin-inject 插件注入公共的组件、API 等逻辑

我们可以搜索 `taro` 源码中 `isOnlyPromisify` 查找到 `processApis` 传入 `isOnlyPromisify``true`。只在 [@tarojs/plugin-inject](https://github.com/NervJS/taro/blob/main/packages/taro-plugin-inject/README.md) 插件使用
Expand Down
50 changes: 50 additions & 0 deletions docs/taro/request/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
highlight: darcula
theme: smartblue
---

# Taro 4.0 已正式发布 - 6. 为什么通过 Taro.xxx 能调用各个小程序平台的 API,如何设计实现的?

## 1. 前言

大家好,我是[若川](https://juejin.cn/user/1415826704971918),欢迎关注我的[公众号:若川视野](https://mp.weixin.qq.com/s/MacNfeTPODNMLLFdzrULow)。我倾力持续组织了 3 年多[每周大家一起学习 200 行左右的源码共读活动](https://juejin.cn/post/7079706017579139102),感兴趣的可以[点此扫码加我微信 `ruochuan02` 参与](https://juejin.cn/pin/7217386885793595453)。另外,想学源码,极力推荐关注我写的专栏[《学习源码整体架构系列》](https://juejin.cn/column/6960551178908205093),目前是掘金关注人数(6k+人)第一的专栏,写有几十篇源码文章。

截至目前(`2024-08-28`),[`taro 4.0` 正式版已经发布](https://github.com/NervJS/taro/releases/tag/v4.0.3),目前最新是 `4.0.5`,官方`4.0`正式版本的介绍文章暂未发布。官方之前发过[Taro 4.0 Beta 发布:支持开发鸿蒙应用、小程序编译模式、Vite 编译等](https://juejin.cn/post/7330792655125463067)

计划写一个 `taro` 源码揭秘系列,欢迎持续关注。

- [x] [1. 揭开整个架构的入口 CLI => taro init 初始化项目的秘密](https://juejin.cn/post/7378363694939783178)
- [x] [2. 揭开整个架构的插件系统的秘密](https://juejin.cn/spost/7380195796208205824)
- [x] [3. 每次创建新的 taro 项目(taro init)的背后原理是什么](https://juejin.cn/post/7390335741586931738)
- [x] [4. 每次 npm run dev:weapp 开发小程序,build 编译打包是如何实现的?](https://juejin.cn/post/7403193330271682612)
- [x] [5. 高手都在用的发布订阅机制 Events 在 Taro 中是如何实现的?](https://juejin.cn/post/7403915119448915977)
- [ ] 等等

前面 4 篇文章都是讲述编译相关的,CLI、插件机制、初始化项目、编译构建流程。第 6 篇我们来讲些相对简单的,Taro 是如何实现 `Taro.xxx` 能访问 `wx.xxx`(文章以微信小程序为例)。

关于克隆项目、环境准备、如何调试代码等,参考[第一篇文章-准备工作、调试](https://juejin.cn/post/7378363694939783178#heading-1)。后续文章基本不再过多赘述。

学完本文,你将学到:

```bash
1.
等等
```


equipCommonApis


## 2. Taro 文档 - API 说明





----

**如果看完有收获,欢迎点赞、评论、分享、收藏支持。你的支持和肯定,是我写作的动力。也欢迎提建议和交流讨论**

作者:常以**若川**为名混迹于江湖。所知甚少,唯善学。[若川的博客](https://ruochuan12.github.io)[github blog](https://github.com/ruochuan12/blog),可以点个 `star` 鼓励下持续创作。

最后可以持续关注我[@若川](https://juejin.cn/user/1415826704971918),欢迎关注我的[公众号:若川视野](https://mp.weixin.qq.com/s/MacNfeTPODNMLLFdzrULow)。我倾力持续组织了 3 年多[每周大家一起学习 200 行左右的源码共读活动](https://juejin.cn/post/7079706017579139102),感兴趣的可以[点此扫码加我微信 `ruochuan02` 参与](https://juejin.cn/pin/7217386885793595453)。另外,想学源码,极力推荐关注我写的专栏[《学习源码整体架构系列》](https://juejin.cn/column/6960551178908205093),目前是掘金关注人数(6k+人)第一的专栏,写有几十篇源码文章。
50 changes: 50 additions & 0 deletions docs/taro/request/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
highlight: darcula
theme: smartblue
---

# Taro 4.0 已正式发布 - 6. 为什么通过 Taro.xxx 能调用各个小程序平台的 API,如何设计实现的?

## 1. 前言

大家好,我是[若川](https://juejin.cn/user/1415826704971918),欢迎关注我的[公众号:若川视野](https://mp.weixin.qq.com/s/MacNfeTPODNMLLFdzrULow)。我倾力持续组织了 3 年多[每周大家一起学习 200 行左右的源码共读活动](https://juejin.cn/post/7079706017579139102),感兴趣的可以[点此扫码加我微信 `ruochuan02` 参与](https://juejin.cn/pin/7217386885793595453)。另外,想学源码,极力推荐关注我写的专栏[《学习源码整体架构系列》](https://juejin.cn/column/6960551178908205093),目前是掘金关注人数(6k+人)第一的专栏,写有几十篇源码文章。

截至目前(`2024-08-28`),[`taro 4.0` 正式版已经发布](https://github.com/NervJS/taro/releases/tag/v4.0.3),目前最新是 `4.0.5`,官方`4.0`正式版本的介绍文章暂未发布。官方之前发过[Taro 4.0 Beta 发布:支持开发鸿蒙应用、小程序编译模式、Vite 编译等](https://juejin.cn/post/7330792655125463067)

计划写一个 `taro` 源码揭秘系列,欢迎持续关注。

- [x] [1. 揭开整个架构的入口 CLI => taro init 初始化项目的秘密](https://juejin.cn/post/7378363694939783178)
- [x] [2. 揭开整个架构的插件系统的秘密](https://juejin.cn/spost/7380195796208205824)
- [x] [3. 每次创建新的 taro 项目(taro init)的背后原理是什么](https://juejin.cn/post/7390335741586931738)
- [x] [4. 每次 npm run dev:weapp 开发小程序,build 编译打包是如何实现的?](https://juejin.cn/post/7403193330271682612)
- [x] [5. 高手都在用的发布订阅机制 Events 在 Taro 中是如何实现的?](https://juejin.cn/post/7403915119448915977)
- [ ] 等等

前面 4 篇文章都是讲述编译相关的,CLI、插件机制、初始化项目、编译构建流程。第 6 篇我们来讲些相对简单的,Taro 是如何实现 `Taro.xxx` 能访问 `wx.xxx`(文章以微信小程序为例)。

关于克隆项目、环境准备、如何调试代码等,参考[第一篇文章-准备工作、调试](https://juejin.cn/post/7378363694939783178#heading-1)。后续文章基本不再过多赘述。

学完本文,你将学到:

```bash
1.
等等
```


equipCommonApis


## 2. Taro 文档 - API 说明





----

**如果看完有收获,欢迎点赞、评论、分享、收藏支持。你的支持和肯定,是我写作的动力。也欢迎提建议和交流讨论**

作者:常以**若川**为名混迹于江湖。所知甚少,唯善学。[若川的博客](https://ruochuan12.github.io)[github blog](https://github.com/ruochuan12/blog),可以点个 `star` 鼓励下持续创作。

最后可以持续关注我[@若川](https://juejin.cn/user/1415826704971918),欢迎关注我的[公众号:若川视野](https://mp.weixin.qq.com/s/MacNfeTPODNMLLFdzrULow)。我倾力持续组织了 3 年多[每周大家一起学习 200 行左右的源码共读活动](https://juejin.cn/post/7079706017579139102),感兴趣的可以[点此扫码加我微信 `ruochuan02` 参与](https://juejin.cn/pin/7217386885793595453)。另外,想学源码,极力推荐关注我写的专栏[《学习源码整体架构系列》](https://juejin.cn/column/6960551178908205093),目前是掘金关注人数(6k+人)第一的专栏,写有几十篇源码文章。

0 comments on commit 740d435

Please sign in to comment.