标准方法

参照 配置开发环境 的描述,下载 Cangjie for DevEco Studio 插件 DevEco Studio NEXT Developer Beta2-Cangjie Plugin(5.0.3.500)。然后在 DevEco Studio NEXT Developer Beta2 中从本地磁盘安装插件,选择下载好的 "devecostudio-cangjie-plugin-windows-5.0.3.500.zip" 安装。完成后即可直接在 DevEco 中使用。

手动安装

从上述网站下载插件后,解压其中的 "harmonyos-cangjie-sdk-windows.zip",得到以下目录 (部分文件和层级省略):

cangjie
├---build
|   ├---linux_ohos_aarch64_llvm
|   └---x86_64-w64-mingw32
├---compiler
|   ├---bin
|   ├---lib
|   ├---modules
|   ├---runtime
|   ├---third_party
|   └---tools
└---jslibs-loader
|   └---lib
└---musl
   └---usr

将解压出来的目录 (包括 cangjie) 移动到一个专门的位置,比如: "C:\\Users\\zhongdongy\\.cangjie-sdk\\5.0\\" 下。这个方式和使用插件安装没有区别。

安装完成后,添加以下环境变量:

  • CANGJIE_HOME: C:\\Users\\zhongdongy\\.cangjie-sdk\\5.0\\cangjie\\compiler
  • PATH 下增加:
    • C:\\Users\\zhongdongy\\.cangjie-sdk\\5.0\\cangjie\\compiler\\runtime\\lib\\windows_x86_64_llvm
    • C:\\Users\\zhongdongy\\.cangjie-sdk\\5.0\\cangjie\\compiler\\lib\\windows_x86_64_llvm
    • C:\\Users\\zhongdongy\\.cangjie-sdk\\5.0\\cangjie\\compiler\\bin
    • C:\\Users\\zhongdongy\\.cangjie-sdk\\5.0\\cangjie\\compiler\\tools\\bin
    • C:\\Users\\zhongdongy\\.cangjie-sdk\\5.0\\cangjie\\compiler\\tools\\lib
    • C:\\Users\\zhongdongy\\.cjpm\\bin

运行第一个 Cangjie 应用程序

在工作目录中间一个 server.cj 文件,内容如下:

import net.http.*

func start_server(): Unit {
  let server = ServerBuilder()
    .addr("0.0.0.0")
    .port(8080)
    .build()

  server.distributor.register("/hello", { http_context =>
    http_context.responseBuilder.body("Hello Cangjie!")
  })

  server.serve()
}

main(): Unit {
  let fut: Future<Unit> = spawn {
    start_server()
  }

  fut.get()
}

这段代码就是启动一个新线程,创建 HTTP 服务器,监听 8080 端口上来自所有网络的请求,然后对于 URL Path 为 /hello 的请求,响应一个字符串 "Hello Cangjie!"

随后在同目录下执行构建命令:

cjc --output server.exe server.cj

此时目录中会出现三个文件:

  • default.bchir2: 编译产物中的二进制文件,具体作用暂时不详
  • default.cjo: 编译的目标文件
  • server.exe: 编译产生的可执行程序

运行 server.exe,然后在浏览器访问 "http://127.0.0.1:8080" 可以看到如下的内容: