Skip to content

Commit

Permalink
docs: 更新 taro build 文章
Browse files Browse the repository at this point in the history
  • Loading branch information
ruochuan12 committed Aug 14, 2024
1 parent ad2b724 commit 3bb32d6
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
12 changes: 8 additions & 4 deletions docs/taro/cli-build/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ pnpm run build

调试微信小程序打包。

根据前面两篇 [1. taro cli init](https://juejin.cn/post/7378363694939783178)[2. taro 插件机制](https://juejin.cn/spost/7380195796208205824) 文章,我们可以得知:`taro build` 初始化命令,最终调用的是 `packages/taro-cli/src/presets/commands/build.ts` 文件中的 `ctx.registerCommand` 注册的 `build` 命令行的 `fn` 函数。

```ts
// packages/taro-cli/src/presets/commands/build.ts
import {
Expand Down Expand Up @@ -199,13 +201,15 @@ async function checkConfig ({ projectConfig, helper }) {

Taro build 插件主要做了以下几件事:

- 判断 `config/index` 配置文件是否存在。
- 判断 `config/index` 配置文件是否存在,如果不存在,则报错退出程序
- 判断 `platfrom` 参数是否是字符串,这里是 `weapp`,如果不是,退出程序。
- 使用 `checkConfig` 函数校验配置文件 `config/index`,如果配置文件出错,退出程序。
- 使用 `@tarojs/plugin-doctor` 中的 `validateConfig` 方法 (`checkConfig`) 函数校验配置文件 `config/index`,如果配置文件出错,退出程序。
- 调用 `ctx.applyPlugins(hooks.ON_BUILD_START)` (编译开始)钩子。
- 调用 `ctx.applyPlugins({ name: platform, })` (调用 weapp) 钩子。
- 调用 `ctx.applyPlugins(hooks.ON_BUILD_COMPLETE)` (编译结束)钩子。

其中

```js
await ctx.applyPlugins({
name: platform,
Expand All @@ -214,8 +218,6 @@ await ctx.applyPlugins({

调用的是端平台插件,本文以微信小程序为例,所以调用的是 weapp。对应的源码文件路径是:`packages/taro-platform-weapp/src/index.ts`。我们来看具体实现。



## 端平台插件 weapp

```ts
Expand Down Expand Up @@ -245,6 +247,8 @@ export default (ctx: IPluginContext, options: IOptions) => {

`ctx.registerPlatform` 注册 `weapp` 平台插件,调用 `Weapp` 构造函数,传入 `ctx``config``options` 等配置。

<!-- TODO: program 截图 -->

## new Weapp 构造函数

>packages/taro-platform-weapp/src/program.ts
Expand Down
1 change: 1 addition & 0 deletions docs/taro/cli-build/drawio/build-plugins.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="0baofar2q762guuegcsurkhdfj4suhhk07lh6r5taolql8cra09j" modified="2024-08-14T15:29:26.501Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.92.1 Chrome/124.0.6367.243 Electron/30.1.2 Safari/537.36" etag="CLbeykzLJIOheJGqiBj3" version="12.2.4" pages="1"><diagram id="eLMFQpm0Jcj8squlpa35" name="Page-1">xVXBjpswEP2akdpDJIJZAkdIyPbSUyr17AUHrBpMHdgk/frOGANhs1s1UqVKSLbfmxmPnz0DsG19eTa8rb7qQijwveICbAe+vw48DwdCrgMSeNEAlEYWzmgGDvKXcKDzK3tZiNPCsNNadbJdgrluGpF3C4wbo89Ls6NWy11bXoo74JBzdY9+l0VXDWjkb2b8i5BlNe68DuOBqflo7E5yqnihzzcQy4BtjdbdMKsvW6FIvFGXwW//ATslZkTT/Y2DPzi8ctW7s33jRkMWQrSH2IcsgDSFNESbl16iTEPW3XWUwui+KQRFWwNLz5XsxKHlObFnvHzEqq5Wjr7PziX8KkwnLjeQy/ZZ6Fp05oomIzsqNz2dYXme72EyqW7uIHQYd1dfTpFndXDiBHpfLHYnFvihwg3SQr4uZAl/9nSDaa6VNsASJE358sn3AqDkcCfvzfwzLUgh74XnP0or6+qNOwsnj8V09j3qplsdeS3VdXDDVHjdWpKxAMeT7g3eDtVGQUOLt/3WZgp9x2BBnbRCDR9x6Y0UBqlGnD/2q3WjT/bhfBipFo16JFkMyfPHTvd4qrPsJ9umSPR12F4mTslGrMaXSKwf3LC2YFZDNMu2RszPB2elHbMniCJIAirMOIRkRwFC6m9HWeKzlViDF6A37kEWQ4TmO8g2kO4gyZxTtJmrmRCMt6fAsQdJSBOMiiAhW0hwsod0C9HWUujuW6+MWIoT2S3+6IUpx7HtJQkkT5RYHFgEM/ToIxtMMqFU0TeyB8Ul9p6MWZupwvCQtsicIP+tDV2nf9hd3wnYv+k7uJx/AJa7+Y2y7Dc=</diagram></mxfile>
1 change: 0 additions & 1 deletion docs/taro/cli-build/images/drawio/build-plugins.drawio

This file was deleted.

0 comments on commit 3bb32d6

Please sign in to comment.