在本教程中,您将为Zendesk应用程序创建持续集成和持续部署(CI/CD)管道。您将使用GitHub Actions和Zendesk命令行接口(ZCLI)来创建管道。亚博gydF4y2Ba

免责声明:gydF4y2Ba亚博Zendesk提供本文仅用于指导目的。这些示例并不适用于生产环境。亚博Zendesk不支持此应用程序或第三方技术,如GitHub。gydF4y2Ba

你需要什么?gydF4y2Ba

要完成本教程,您需要以下内容:gydF4y2Ba

创建Zendesk亚博应用程序gydF4y2Ba

首先,使用ZCLI创建一个使用Zendesk应用程序支架的新应用程序。亚博脚手架将为你的应用创建必要的文件结构、清单文件和入口点。有两个选项:gydF4y2Ba

  • 基本的应用脚手架(选项1)gydF4y2Ba

                   
    zcli应用:新gydF4y2Ba

    或gydF4y2Ba

                   
    Zcli apps:new——scaffoldgydF4y2Ba=gydF4y2Ba基本gydF4y2Ba
  • 亚博Zendesk React应用程序脚手架(选项2)gydF4y2Ba

                   
    Zcli apps:new——scaffoldgydF4y2Ba=gydF4y2Ba反应gydF4y2Ba

    提示:gydF4y2Ba如果你是Zendesk React应用脚手亚博架的新手,请参考gydF4y2Ba使用React应用脚手架的技巧gydF4y2Ba.gydF4y2Ba

以上两个选项都会提示您以下内容:gydF4y2Ba

  • 安装路径gydF4y2Ba
  • 你的名字gydF4y2Ba
  • 你的电子邮件gydF4y2Ba
  • 你的网站(可选)gydF4y2Ba
  • 应用程序的名称gydF4y2Ba

提示gydF4y2Ba在创建应用程序时,你也可以将上述要点作为可选标志传递:gydF4y2Ba

             
zcli apps:new——appNamegydF4y2Ba=gydF4y2Ba“Foo应用”gydF4y2Ba——authorEmailgydF4y2Ba=gydF4y2Ba(电子邮件保护)gydF4y2Ba——authorNamegydF4y2Ba=gydF4y2Ba“Foo栏”gydF4y2Ba——路径gydF4y2Ba=gydF4y2BazcliCigydF4y2Ba

对于React应用脚手架,添加gydF4y2Ba——脚手架=反应gydF4y2Ba到上面的命令。gydF4y2Ba

使用GitHub Actions设置CIgydF4y2Ba

GitHub Actions允许您在GitHub存储库中自动化和自定义工作流。你可以在gydF4y2BaGitHub Actions文档gydF4y2Ba.gydF4y2Ba

创建一个新的存储库gydF4y2Ba

接下来,在GitHub上为Zendesk应用创建一个存储库。亚博使用GitHub操作需要一个repo。gydF4y2Ba

  1. 在浏览器中,转到GitHub和gydF4y2Ba创建一个新的存储库gydF4y2Ba.gydF4y2Ba

    注意:gydF4y2Ba保持回购空。不要在repo中添加README或.gitignore文件。您的应用程序文件包括一个README。您可以稍后添加.gitignore文件。gydF4y2Ba

  2. 在shell中,导航到项目的根目录。例子:gydF4y2Ba

                   
    cdgydF4y2Ba项目/ cicd_test_appgydF4y2Ba
  3. 运行下面的git命令将你的修改推送到GitHub仓库:gydF4y2Ba

                   
    gitgydF4y2Ba初始化gydF4y2BagitgydF4y2Ba远程gydF4y2Ba添加gydF4y2Ba起源gydF4y2Ba(电子邮件保护)gydF4y2Ba:gydF4y2Ba{gydF4y2Bapath_to_your_repogydF4y2Ba)gydF4y2BagitgydF4y2Ba分支-M主gydF4y2BagitgydF4y2Ba添加gydF4y2Ba——一个gydF4y2BagitgydF4y2Ba主推u原点gydF4y2Ba

设置GitHub动作gydF4y2Ba

  1. 在项目的根目录中创建gydF4y2Ba.github /工作流gydF4y2Ba文件夹:gydF4y2Ba

                   
    mkdirgydF4y2Ba.githubgydF4y2Ba|gydF4y2BamkdirgydF4y2Ba.github /工作流gydF4y2Ba
  2. 在gydF4y2Ba.github /工作流gydF4y2Ba,创建一个gydF4y2Baactions.ymlgydF4y2Ba文件。你可以使用gydF4y2Baactions.ymlgydF4y2Ba文件来定义输入、输出,并运行GitHub Actions的配置。gydF4y2Ba

                   
    触摸gydF4y2Baactions.ymlgydF4y2Ba

现在你有了一个结构,你可以用GitHub Actions创建一个CI/CD管道。我们在下面包含了三个示例命令。您可以选择最适合您的工作流的命令。gydF4y2Ba

可以从一个YAML文件运行多个命令。但是,使用单个YAML文件可能会带来一些小问题。为了避免这些问题,我们建议为每个命令创建一个单独的YAML文件。gydF4y2Ba

ZCLI的GitHub动作文件示例gydF4y2Ba

GitHub Actions有一套深入的工具来构建自动化工作流。有关更多信息,请参阅gydF4y2BaGitHub Actions文档gydF4y2Ba.gydF4y2Ba

本文中的示例命令可能不适合您的生产环境的最佳实践。这些示例应该用作概念的证明,而不是用于生产的工作流。gydF4y2Ba

每个示例命令都基于以下模板构建。gydF4y2Ba

             
名字gydF4y2Ba:gydF4y2BaZCLI模板gydF4y2Ba#触发工作流…gydF4y2Ba在gydF4y2Ba:gydF4y2Ba#……当你推…gydF4y2Ba推gydF4y2Ba:gydF4y2Ba#……分支"main"gydF4y2Ba分支机构gydF4y2Ba:gydF4y2Ba[gydF4y2Ba主要gydF4y2Ba]gydF4y2Ba#……当你从动作页面手动点击GitHub上的“运行工作流”时gydF4y2Baworkflow_dispatchgydF4y2Ba:gydF4y2Ba#如果工作流是由上述选项之一触发的…gydF4y2Ba#……工作will kick off to...工作gydF4y2Ba:gydF4y2Ba#……创建一个构建使用…gydF4y2Ba构建gydF4y2Ba:gydF4y2Ba#……最新版本的Ubuntu…gydF4y2Ba运行在gydF4y2Ba:gydF4y2BaubuntugydF4y2Ba-gydF4y2Ba最新的gydF4y2Ba#……使用Node版本16.x…gydF4y2Ba策略gydF4y2Ba:gydF4y2Ba矩阵gydF4y2Ba:gydF4y2Ba节点信息gydF4y2Ba:gydF4y2Ba[gydF4y2Ba16.倍gydF4y2Ba]gydF4y2Ba随着环境的设置,我们可以开始采取行动…gydF4y2Ba#……与these steps...步骤gydF4y2Ba:gydF4y2Ba#直到下一个注释,这些都是GitHub中Node.js模板的默认操作gydF4y2Ba-gydF4y2Ba使用gydF4y2Ba:gydF4y2Ba行为/gydF4y2Ba(电子邮件保护)gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba使用Node.js $gydF4y2Ba{gydF4y2Ba{gydF4y2Bamatrix.nodegydF4y2Ba-gydF4y2Ba版本gydF4y2Ba}gydF4y2Ba}gydF4y2Ba使用gydF4y2Ba:gydF4y2Ba行动/设置gydF4y2Ba-gydF4y2Ba(电子邮件保护)gydF4y2Ba与gydF4y2Ba:gydF4y2Ba节点信息gydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Bamatrix.nodegydF4y2Ba-gydF4y2Ba版本gydF4y2Ba}gydF4y2Ba}gydF4y2Ba#只在使用React时取消下一行的注释gydF4y2Ba# cache: 'npm'gydF4y2Ba#……安装Zendesk命令行亚博gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba安装zcligydF4y2Ba运行gydF4y2Ba:gydF4y2BaNPM I @亚博zendesk/zcligydF4y2Ba-gydF4y2BaggydF4y2Ba

zcli应用:撞gydF4y2Ba

此命令将更改Zendesk应用程序的语义版本(semvar),该版本位于亚博gydF4y2Bamanifest.jsongydF4y2Ba.它将major (1.x.x), minor (x.1.x)和/或patch (x.x.1)增加一个,并带有可附加到命令的可选标志。如果命令不带标志,则会使补丁版本发生碰撞。gydF4y2Ba

  • Bash zcli apps:bumpgydF4y2Ba或gydF4y2BaBash zcli apps:bump -pgydF4y2Ba-增加补丁版本gydF4y2Ba
  • Bash zcli apps:bump -mgydF4y2Ba-增量次要版本gydF4y2Ba
  • bash zcli appsgydF4y2Ba-增加主版本gydF4y2Ba

为“bump”创建工作流gydF4y2Ba

为了在工作流中使用bump命令,我们需要为每个不同的版本使用触发事件。出于演示目的,我们决定使用提交消息来触发不同的版本增量。这种方法不应该在生产环境中使用。任何包含这些词的注释都有可能使您的版本控制出错。这个例子只是一个起点和概念的证明。gydF4y2Ba

编辑gydF4y2Baactions.ymlgydF4y2Ba文件位于gydF4y2Ba.github /工作流gydF4y2Ba的第3-23行gydF4y2Ba以上模板gydF4y2Ba下面是:gydF4y2Ba

             
名字gydF4y2Ba:gydF4y2BaZCLI撞gydF4y2Ba#将这一行替换为模板中的3-23行gydF4y2Ba#……以及这些身份验证细节,它们是从action秘密中提取的gydF4y2BaenvgydF4y2Ba:gydF4y2Ba亚博ZENDESK_SUBDOMAINgydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Ba的秘密。子域名gydF4y2Ba}gydF4y2Ba}gydF4y2Ba亚博ZENDESK_EMAILgydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Ba的秘密。电子邮件gydF4y2Ba}gydF4y2Ba}gydF4y2Ba亚博ZENDESK_API_TOKENgydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Ba的秘密。一个PI_TOKEN}gydF4y2Ba}gydF4y2Ba随着环境的设置,我们可以开始采取这些步骤的行动…gydF4y2Ba步骤gydF4y2Ba:gydF4y2Ba#默认Node.js工作流…gydF4y2Ba-gydF4y2Ba使用gydF4y2Ba:gydF4y2Ba行为/gydF4y2Ba(电子邮件保护)gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba使用Node.js $gydF4y2Ba{gydF4y2Ba{gydF4y2Bamatrix.nodegydF4y2Ba-gydF4y2Ba版本gydF4y2Ba}gydF4y2Ba}gydF4y2Ba使用gydF4y2Ba:gydF4y2Ba行动/设置gydF4y2Ba-gydF4y2Ba(电子邮件保护)gydF4y2Ba与gydF4y2Ba:gydF4y2Ba节点信息gydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Bamatrix.nodegydF4y2Ba-gydF4y2Ba版本gydF4y2Ba}gydF4y2Ba}gydF4y2Ba#只在使用React时取消下一行的注释gydF4y2Ba# cache: 'npm'gydF4y2Ba#……安装Zendesk命令行亚博gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba安装zcligydF4y2Ba运行gydF4y2Ba:gydF4y2BaNPM I @亚博zendesk/zcligydF4y2Ba-gydF4y2BaggydF4y2Ba如果提交消息中每个if条件中都包含这个单词,那么接下来的三个动作将会运行。如果提交消息包含所有三个单词,则每个操作都将运行。基本上,不要在生产环境中使用此工作流!gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba补丁版本gydF4y2Ba如果gydF4y2Ba:gydF4y2Ba包含(github.event.head_commit.messagegydF4y2Ba,gydF4y2Ba“补丁”)gydF4y2Ba运行gydF4y2Ba:gydF4y2Bazcli应用gydF4y2Ba:gydF4y2Ba撞gydF4y2Ba-gydF4y2BapgydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba升级小版本gydF4y2Ba如果gydF4y2Ba:gydF4y2Ba包含(github.event.head_commit.messagegydF4y2Ba,gydF4y2Ba“小”)gydF4y2Ba运行gydF4y2Ba:gydF4y2Bazcli应用gydF4y2Ba:gydF4y2Ba撞gydF4y2Ba-gydF4y2Ba米gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba碰撞主版本gydF4y2Ba如果gydF4y2Ba:gydF4y2Ba包含(github.event.head_commit.messagegydF4y2Ba,gydF4y2Ba“主要”)gydF4y2Ba运行gydF4y2Ba:gydF4y2Bazcli应用gydF4y2Ba:gydF4y2Ba撞gydF4y2Ba-gydF4y2Ba米gydF4y2Ba#最后,我们需要将更改推送到我们的存储库。由于GitHub Actions运行在一个单独的环境中,如果没有这个,上述更改不会更新您的repo。gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba更新回购gydF4y2Ba运行gydF4y2Ba:gydF4y2Ba|gydF4y2BaGit配置—全局用户。email "[你的GH邮箱]"gydF4y2BaGit config—global user.name“[你的名字]”gydF4y2Bagit添加gydF4y2Ba-gydF4y2Ba一个gydF4y2Bagit提交gydF4y2Ba-gydF4y2Bam“提交”消息gydF4y2Bagit推gydF4y2Ba

zcli应用:更新gydF4y2Ba

此命令将验证、打包和更新已安装的Zendesk应用程序。您需要创建亚博gydF4y2Ba加密机密gydF4y2Ba这将包含您的Zendesk子域名,电子邮件地址和API令牌。亚博gydF4y2Ba

创建GitHub Actions秘密gydF4y2Ba

请注意gydF4y2Ba:你需要完成这些步骤三次,以获得第五步中列出的三个秘密。gydF4y2Ba

  1. 在gydF4y2BaGitHubgydF4y2Ba,导航到repo的主页面。gydF4y2Ba
  2. 在回购页面,单击gydF4y2Ba设置gydF4y2Ba.gydF4y2Ba
  3. 在左侧栏中,单击gydF4y2Ba秘密gydF4y2Ba>gydF4y2Ba行动gydF4y2Ba.gydF4y2Ba
  4. 点击gydF4y2Ba新的存储库秘密gydF4y2Ba.gydF4y2Ba
  5. 创建以下三个秘密中的每一个(所有大写):gydF4y2Ba
    • 子域名gydF4y2Ba
    • 电子邮件gydF4y2Ba
    • API_TOKENgydF4y2Ba
  6. 为三个秘密分别输入一个值:gydF4y2Ba
    • 对于SUBDOMAIN,只使用子域名“。zendesk.com”之前的部分。亚博例如,在“example.zendesk.com”亚博中,您将只输入“example”。gydF4y2Ba
    • 对于电子邮件,请输入您的电子邮件地址。在Zendesk中使用API令牌时,您不需要像通常那样在电子邮件地址中添加“/token”。亚博gydF4y2Ba
    • 对于API_TOKEN,复制并粘贴一个可用的gydF4y2BaAPI的令牌gydF4y2Ba从你的账户。gydF4y2Ba
  7. 点击gydF4y2Ba添加的秘密gydF4y2Ba.gydF4y2Ba

为“更新”创建工作流gydF4y2Ba

为了更新,我们需要添加一个JSON配置文件,其中包含Zendesk实例中应用程序的安装id。亚博gydF4y2Ba

  1. 在浏览器中,转到gydF4y2Bahttps://gydF4y2Ba {子域名}.zendes亚博k.com/api/v2/apps/installationsgydF4y2Ba.gydF4y2Ba

  2. 找到您的应用程序的名称,然后复制gydF4y2BaidgydF4y2Ba价值高于它。gydF4y2Ba

  3. 打开终端窗口,从项目根目录创建JSON文件:gydF4y2Ba

                   
    触摸gydF4y2Bazcli.apps.config.jsongydF4y2Ba
  4. 在编辑器中打开该文件,添加id,并保存该文件:gydF4y2Ba

                   
    {gydF4y2Ba“app_id”gydF4y2Ba:gydF4y2BaAPP_IDgydF4y2Ba}gydF4y2Ba

编辑gydF4y2Baactions.ymlgydF4y2Ba文件位于gydF4y2Ba.github /工作流gydF4y2Ba的第3-23行gydF4y2Ba以上模板gydF4y2Ba下面是:gydF4y2Ba

             
名字gydF4y2Ba:gydF4y2BaZCLI更新gydF4y2Ba从上面的模板中复制/粘贴第3-23行gydF4y2Ba…gydF4y2Ba#……以及这些身份验证细节,它们是从action秘密中提取的gydF4y2BaenvgydF4y2Ba:gydF4y2Ba亚博ZENDESK_SUBDOMAINgydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Ba的秘密。子域名gydF4y2Ba}gydF4y2Ba}gydF4y2Ba亚博ZENDESK_EMAILgydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Ba的秘密。电子邮件gydF4y2Ba}gydF4y2Ba}gydF4y2Ba亚博ZENDESK_API_TOKENgydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Ba的秘密。一个PI_TOKEN}gydF4y2Ba}gydF4y2Ba环境设置好后,我们可以开始这些步骤了…gydF4y2Ba步骤gydF4y2Ba:gydF4y2Ba#直到下一个注释,这些都是GitHub中Node.js模板的默认操作gydF4y2Ba-gydF4y2Ba使用gydF4y2Ba:gydF4y2Ba行为/gydF4y2Ba(电子邮件保护)gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba使用Node.js $gydF4y2Ba{gydF4y2Ba{gydF4y2Bamatrix.nodegydF4y2Ba-gydF4y2Ba版本gydF4y2Ba}gydF4y2Ba}gydF4y2Ba使用gydF4y2Ba:gydF4y2Ba行动/设置gydF4y2Ba-gydF4y2Ba(电子邮件保护)gydF4y2Ba与gydF4y2Ba:gydF4y2Ba节点信息gydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Bamatrix.nodegydF4y2Ba-gydF4y2Ba版本gydF4y2Ba}gydF4y2Ba}gydF4y2Ba#只在使用React时取消下一行的注释gydF4y2Ba# cache: 'npm'gydF4y2Ba#……安装Zendesk命令行亚博gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba安装zcligydF4y2Ba运行gydF4y2Ba:gydF4y2BaNPM I @亚博zendesk/zcligydF4y2Ba-gydF4y2BaggydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba部署应用程序gydF4y2Ba运行gydF4y2Ba:gydF4y2Bazcli应用gydF4y2Ba:gydF4y2Ba更新gydF4y2Ba

请注意gydF4y2Ba:如果你用React构建你的应用程序,你将需要运行你在gydF4y2Bapackage.jsongydF4y2Ba文件。您还需要安装依赖项。要执行这些步骤,将上面“更新”工作流中的最后两行替换为:gydF4y2Ba

             
#用于React应用脚手架gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba安装应用依赖项gydF4y2Ba运行gydF4y2Ba:gydF4y2Banpm安装gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba创建dist目录gydF4y2Ba运行gydF4y2Ba:gydF4y2BaNPM运行构建gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba部署应用程序gydF4y2Ba运行gydF4y2Ba:gydF4y2Bazcli应用gydF4y2Ba:gydF4y2Ba更新区域gydF4y2Ba

zcli应用:验证gydF4y2Ba

此命令运行一套测试,以确保您的应用程序已准备好打包并上传到Zendesk实例。亚博如果你逃跑gydF4y2Bazcli应用:更新gydF4y2Ba,您不需要事先验证,因为验证已经是更新过程的一部分。gydF4y2Ba

您需要使用与我们为“update”创建的Github Actions secrets相同的设置。指gydF4y2Ba创建GitHub Actions秘密gydF4y2Ba.gydF4y2Ba

为“验证”创建工作流gydF4y2Ba

编辑gydF4y2Baactions.ymlgydF4y2Ba文件位于gydF4y2Ba.github /工作流gydF4y2Ba的第3-23行gydF4y2Ba以上模板gydF4y2Ba下面是:gydF4y2Ba

             
名字gydF4y2Ba:gydF4y2BaZCLI验证gydF4y2Ba从上面的模板中复制/粘贴第3-23行gydF4y2Ba…gydF4y2Ba#……以及这些身份验证细节,它们是从action秘密中提取的gydF4y2BaenvgydF4y2Ba:gydF4y2Ba亚博ZENDESK_SUBDOMAINgydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Ba的秘密。子域名gydF4y2Ba}gydF4y2Ba}gydF4y2Ba亚博ZENDESK_EMAILgydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Ba的秘密。电子邮件gydF4y2Ba}gydF4y2Ba}gydF4y2Ba亚博ZENDESK_API_TOKENgydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Ba的秘密。一个PI_TOKEN}gydF4y2Ba}gydF4y2Ba随着环境的设置,我们可以开始执行这些步骤…gydF4y2Ba步骤gydF4y2Ba:gydF4y2Ba#直到下一个注释,这些都是GitHub中Node.js模板的默认操作gydF4y2Ba-gydF4y2Ba使用gydF4y2Ba:gydF4y2Ba行为/gydF4y2Ba(电子邮件保护)gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba使用Node.js $gydF4y2Ba{gydF4y2Ba{gydF4y2Bamatrix.nodegydF4y2Ba-gydF4y2Ba版本gydF4y2Ba}gydF4y2Ba}gydF4y2Ba使用gydF4y2Ba:gydF4y2Ba行动/设置gydF4y2Ba-gydF4y2Ba(电子邮件保护)gydF4y2Ba与gydF4y2Ba:gydF4y2Ba节点信息gydF4y2Ba:gydF4y2Ba美元gydF4y2Ba{gydF4y2Ba{gydF4y2Bamatrix.nodegydF4y2Ba-gydF4y2Ba版本gydF4y2Ba}gydF4y2Ba}gydF4y2Ba#只在使用React时取消下一行的注释gydF4y2Ba# cache: 'npm'gydF4y2Ba#……安装Zendesk命令行亚博gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba安装zcligydF4y2Ba运行gydF4y2Ba:gydF4y2BaNPM I @亚博zendesk/zcligydF4y2Ba-gydF4y2BaggydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba验证应用程序gydF4y2Ba运行gydF4y2Ba:gydF4y2Bazcli应用gydF4y2Ba:gydF4y2Ba验证。gydF4y2Ba

请注意gydF4y2Ba:如果你用React构建你的应用程序,你将需要运行你在gydF4y2Bapackage.jsongydF4y2Ba文件。您还需要安装依赖项。要执行这些步骤,将上面“validate”工作流中的最后两行替换为:gydF4y2Ba

             
#用于React应用脚手架gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba安装应用依赖项gydF4y2Ba运行gydF4y2Ba:gydF4y2Banpm安装gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba创建dist目录gydF4y2Ba运行gydF4y2Ba:gydF4y2BaNPM运行构建gydF4y2Ba-gydF4y2Ba名字gydF4y2Ba:gydF4y2Ba验证应用程序gydF4y2Ba运行gydF4y2Ba:gydF4y2Bazcli应用gydF4y2Ba:gydF4y2Ba验证distgydF4y2Ba

使用React应用脚手架的技巧gydF4y2Ba

使用React时的主要区别:gydF4y2Ba

  • 我们需要奔跑gydF4y2Banpm安装gydF4y2Ba安装必要的依赖(webpack等)来构建我们的应用程序。gydF4y2Ba
  • 我们需要奔跑gydF4y2BaNPM运行构建gydF4y2Ba开始将我们的应用程序文件编译到dist文件夹。gydF4y2Ba
  • 当使用“validate”或“update”命令时,我们需要指定路径,因为我们的清单文件不在根目录中。在这种情况下,我们指向我们在工作流中创建的dist文件夹。gydF4y2Ba