cargo 옵션

  • cargo new {folder_path} 새 프로젝트를 생성할 수 있습니다.
  • cargo build 프로젝트를 빌드할 수 있습니다.
  • cargo run 한 번에 프로젝트를 빌드하고 실행할 수 있습니다.
  • cargo check 바이너리를 생성하지 않고 프로젝트의 에러를 체크할 수 있습니다.
  • cargo build --release 최종 배포를 위한 릴리즈를 빌드합니다.
  • cargo update Cargo.lock 파일을 무시하고 Cargo.toml로부터 최신 버전의 크레이트를 다시 설치함.
  • cargo doc --open 현재 프로젝트에서 사용되는 크레이트들의 API를 문서를 다운로드 받고 웹브라우저에서 표시해줌.

top-level await 에러 대응 (WebGPU를 import 하기 위한 코드에서 …)

아래의 코드가 실행되면 서두부터 await가 실행됩니다. 즉, top-level에서 await가 실행되는 거죠. 이게 Vite에서는 문제가 발생합니다.

import WebGPU from "three/addons/capabilities/WebGPU.js"

이를 해결하기 위해서는 먼저 개발환경에서 다음과 같은 패키지를 설치해야 합니다.

npm install --save-dev vite-plugin-top-level-await

그리고 vite.config.js 파일을 만들어 다음처럼 내용을 구성합니다.

import { defineConfig } from "vite";
import topLevelAwait from "vite-plugin-top-level-await";

export default defineConfig({
  plugins:[
    topLevelAwait({
      // promiseExportName: "__tla",
      // promiseImportName: i => `__tla_${i}`
    })
  ],
});