rsw - wasm-pack 기반 빌드 도구

특징


  • rsw 초기화
  • rsw 손목시계
  • rsw 빌드
  • rsw 새로운
  • wasm-pack
  • rsw
  • user

  • 디버그 정보

  • 할 것


  • 로컬 하위 종속성 파일 변경이 핫 업데이트를 트리거함
  • vite , webpack 등과 같은 프런트 엔드 스캐폴딩을 통합합니다.

  • 용법




    cargo install rsw
    



    # help
    rsw -h
    
    # dev
    rsw watch
    
    # release
    rsw build
    




    나무꾼




    # @see: https://github.com/env-logger-rs/env_logger
    # RUST_LOG=rsw=<info|trace|debug|error|warn> rsw <watch|build|new>
    # 1. info
    RUST_LOG=rsw=info rsw <SUBCOMMAND>
    
    # 2. all: info, trace, debug, error, warn
    RUST_LOG=rsw rsw <SUBCOMMAND>
    


    rsw.toml



    configuration file


  • TOML Doc
  • wasm-pack build Doc

  • 옵션



    프로젝트 루트 경로에 rsw.toml를 생성하고 rust crate 매개변수를 구성하고 rsw watch 또는 rsw build 명령을 실행합니다.
  • name - 프로필 이름(선택 사항)
  • version - 프로필 버전(선택 사항)
  • interval - 개발 모드rsw watch, 파일 변경이 트리거되는 시간 간격wasm-pack build, 기본값50 밀리초
  • [new] - wasm-pack new를 사용하여 빠르게 크레이트를 생성하거나 rsw.toml -> [new] -> using에서 사용자 정의 템플릿을 설정합니다.
  • using - wasm-pack | rsw | user , 기본값은 wasm-pack
  • wasm-pack - rsw new <name> --template <template> --mode <normal|noinstall|force> wasm-pack new doc
  • rsw - rsw new <name> , 내장 템플릿
  • user - rsw new <name> , dir가 구성되지 않은 경우 wasm-pack new <name>를 사용하여 프로젝트를 초기화하십시오.
  • dir - 이 디렉토리의 모든 파일을 복사합니다. 이 필드는 using = "user" 일 때 구성해야 합니다. using = "wasm-pack" 또는 using = "rsw" 이 필드는 무시됩니다
  • .

  • [[crates]] - 다중rust crate 구성을 지원하는 어레이입니다.
  • name - npm 패키지 이름, 지원 조직, 예: @rsw/foo
  • root - 프로젝트 루트 경로에 상대적, 기본값은 .
  • target - bundler | nodejs | web | no-modules , 기본값은 web
  • out-dir - npm 패키지 출력 경로, 기본값pkg
  • [crates.watch] - 개발 모드
  • run - 이crate를 시청해야 하는지 여부, 기본값은 true입니다.
  • profile - dev | profiling , 기본값은 dev
  • [crates.build] - 프로덕션 모드
  • run - 이crate를 빌드해야 하는지 여부, 기본값은 true입니다.
  • profile - release | profiling , 기본값은 release


  • 참고: name[[crates]]는 필수이고 다른 필드는 선택 사항입니다.

    예시




    # rsw.toml
    
    name = "rsw"
    version = "0.1.0"
    #! default is `50` ms
    interval = 50
    
    #! ---------------------------
    
    #! rsw new <name>
    [new]
    #! @see https://rustwasm.github.io/docs/wasm-pack/commands/new.html
    #! using: `wasm-pack` | `rsw` | `user`, default is `wasm-pack`
    #! 1. wasm-pack: `rsw new <name> --template <template> --mode <normal|noinstall|force>`
    #! 2. rsw: `rsw new <name>`, built-in templates
    #! 3. user: `rsw new <name>`, if `dir` is not configured, use `wasm-pack new <name>` to initialize the project
    using = "wasm-pack"
    #! this field needs to be configured when `using = "user"`
    #! `using = "wasm-pack"` or `using = "rsw"`, this field will be ignored
    #! copy all files in this directory
    dir = "my-template"
    
    #! ################# NPM Package #################
    
    #! When there is only `name`, other fields will use the default configuration
    #! -------- package: rsw-hello --------
    [[crates]]
    name = "rsw-hello"
    
    #! =======================================================
    
    #! -------- package: @rsw/hello --------
    # [[crates]]
    # #! npm package name
    # name = "@rsw/hello"
    # #! default is `.`
    # root = "."
    # #! default is `pkg`
    # out-dir = "pkg"
    # #! target: bundler | nodejs | web | no-modules, default is `web`
    # target = "web"
    # #! rsw watch
    # [crates.watch]
    # #! default is `true`
    # run = false
    # #! profile: `dev` | `profiling`, default is `dev`
    # profile = "dev"
    # #! rsw build
    # [crates.build]
    # run = false
    # #! profile: `release` | `profiling`, default is `release`
    # profile = "release"
    

    좋은 웹페이지 즐겨찾기