
# 创建空白华为云Astro轻应用脚本
服务编排和脚本一样，都是完成业务接口和逻辑开发的，服务编排是图形化的，适用于业务逻辑比较简单的场景，而对于业务逻辑比较复杂的场景，您可以通过在线开发TypeScript脚本实现。本章节以创建一个全新的脚本为例，向您介绍如何在低代码平台中新建一个脚本。本脚本实例不涉及对象及调用接口等内容，脚本只实现请求"http://www.example.com"，返回网站请求的消息头功能。
#### 创建空白脚本
1. 参考[登录华为云Astro轻应用应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9004.html)中操作，登录应用设计器。
2. 在左侧导航栏中，选择"逻辑"。
3. （可选）单击脚本后的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001914344090.png)，为脚本添加目录。
   
   脚本默认存放在根目录下，在创建脚本前，您可以先创建脚本存放的目录，也可以在脚本创建后将其拖拽到指定目录。
   
   
4. 将鼠标放在已创建的脚本目录上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001946063249.png)，进入新增脚本页面。
   
   如果未创建脚本目录，请直接单击脚本后的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001914184198.png)，进入新增脚本页面。
   
   
5. 选择"创建一个新脚本"，设置脚本名称（如httpTest），单击"添加"，进入脚本编辑器页面。 
   图1新增httpTest脚本   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894140504.png "点击放大")
   表1新增脚本参数说明 
   | 参数 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   |:---|:---|
   | 名称 | 在输入框中，输入新建脚本的名称。命名要求如下： - 长度不能超过63个字符，包括前缀命名空间的长度。 名称前的内容为命名空间，在华为云Astro轻应用中为了避免不同租户间数据的重名，租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间，创建后不支持修改。   - 必须以英文字母开头，只能由英文字母、数字或单下划线组成，没有连续的下划线，且不能以下划线结尾。                                                                                                                                                                                                                                                                                                                                                           |
   | 模板 | 根据实际需求，在下拉框中选择脚本的模板。 - 空脚本：创建一个空脚本。  - 示例服务脚本：对外提供服务的脚本，可通过restful直接调用。  - 示例内部脚本：是内部库代码，只能被其它脚本import使用。  - 空白测试脚本：创建一个空测试脚本。  - 示例前置/后置安装脚本：在安装或升级应用时，在导入实例化配置数据之前或者之后执行的脚本。一般用于预清理数据、删除和更新数据等。  - 示例自定义接口前置脚本/后置脚本：在开放低代码平台的服务编排、脚本或者操作对象数据接口给第三方系统调用时，通过该示例脚本可实现在第三方系统配置这些接口的访问权限。   默认值：空脚本。 |
   | 描述 | 根据实际需求，输入脚本的描述信息。 取值范围：1\~255个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      
   
   
6. 在脚本编辑器中，将以下脚本代码粘贴到代码编辑区。 
   ```
   import * as http from 'http' // 导入http库
   let client = http.newClient() // 实例化
   let resp = client.get("https://www.example.com/") // 请求网址
   console.log(resp.headers) // 打印返回headers
   ```
   
   
7. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894140488.png)，保存脚本。
8. 运行测试脚本。 
   1. 单击编辑器上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894140500.png)，执行脚本。
   
   2. 在页面底部单击测试窗口右上角的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894140492.png)，返回消息头信息。
      ```
      0603 10:39:22.569|debug|vm[731]>>> Build #AppCube Core 24.3.0 amd64
      Built on 2024-05-08 09:54:09 
      Commit #fbbb0cef14
      0603 10:39:22.571|debug|vm[731]>>> node: 4
      0603 10:39:22.573|debug|vm[731]>>> script: 命名空间__httpTest__1.0.1
      0603 10:39:22.574|debug|vm[731]>>> locale: zh_CN
      0603 10:39:22.576|debug|vm[731]>>> os timezone: Local
      0603 10:39:22.578|debug|vm[731]>>> user timezone: (GMT+08:00) China Standard Time (Asia/***)
      0603 10:39:22.580|debug|vm[731]>>> organization timezone: (GMT+08:00) China Standard Time (Asia/***)
      0603 10:39:22.581|debug|vm[731]>>> load module http
      0603 10:39:24.934|debug|vm[731]>>> 
      {
          Date: [ Mon, 03 Jun 2024 02:39:24 GMT ],
          Set-Cookie: [ __cf_bm=mZCsDLBaFW9LYtwZSHdNG7lmfqWg7eiREVGkzxP0I5M-1717382364-1.0.1.1-kxYJgrTmCAQyj7kla1aazwY6lz3QSL9R98.v_HQCdYQqw2m.zkmxYpDhenoCTFxpfMLpzhrpiPT1eCdhqEgduw; path=/; expires=Mon, 03-Jun-24 03:09:24 GMT; domain=.squadhelp.com; HttpOnly; Secure; SameSite=None ],
          Vary: [ Accept-Encoding ],
          Server: [ cloudflare ],
          Content-Type: [ text/html; charset=UTF-8 ],
          X-Frame-Options: [ SAMEORIGIN ],
          Referrer-Policy: [ same-origin ],
          Cache-Control: [ max-age=15 ],
          Expires: [ Mon, 03 Jun 2024 02:39:39 GMT ],
          Cf-Ray: [ 88dc50043f2e5355-LAX ]
      } (命名空间__httpTest.ts:4)
      0603 10:39:24.936|debug|vm[731]>>> resource limit usage:
          number of RequestSOQLQueriesAmount: 0
          number of RequestSOQLRowsAmount: 0
          number of RequestSOSLQueriesAmount: 0
          number of RequestSOSLRowsAmount: 0
          number of RequestDMLStatementsAmount: 0
          number of RequestDMLRowsAmount: 0
          number of RequestCallOutsAmount: 1
          number of RequestEmailSendsAmount: 0
          number of RequestEventSendsAmount: 0
      ```
      
   
   
   
   
9. 脚本测试完成后，单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001906187302.png)，启用该脚本。
   
   脚本启用后，即可在其他脚本、服务编排等操作中使用。如果脚本未启用，其他组件无法查询到该脚本，查询时会报错该脚本不存在或未启用。
   
   
 
#### 相关文档
- [华为云Astro轻应用低代码基本概念](https://support.huaweicloud.com/productdesc-astrozero/astrozero_03_0004.html)
- [通过华为云Astro轻应用中的脚本实现表单的提交限制功能](https://support.huaweicloud.com/bestpractice-astrozero/astrozero_bestpractice_0040.html)
- [通过华为云Astro轻应用中的脚本实现表格数据的增加和删除](https://support.huaweicloud.com/bestpractice-astrozero/astrozero_bestpractice_0046.html)
 
