You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
示例代码:examples/hello
初始化
npm
前端使用 npm 来初始化项目,生成
package.json
:# -y 静默生成,跳过询问 $ npm init -y
package.json
包含以下字段,更多字段请参考 npm configuring - package.json:cargo
Rust 使用 cargo 命令来初始化项目,生成
Cargo.toml
和src/main.rs
文件(默认):如果使用
--lib
则生成src/lib.rs
文件:# 库模板 $ cargo new --lib hello hello ├── Cargo.toml └── src └── lib.rs
Cargo.toml 与 package.json 中的大部分字段具有类似性,更多字段请参考 The Manifest Format:
安装依赖
在前端可以使用
npm install [dep]
来安装依赖,在 Rust 中也有类似的命令。但 cargo 本身并不支持,所以需要先安装 cargo-edit 插件来支持:安装完成后 cargo 将支持这些子命令:
add
、rm
、upgrade
和set-version
。例如cargo add serde
。运行
在前端会使用
npm
、yarn
或pnpm
来管理项目,安装依赖的过程中都会针对 package.json 的依赖生成 lock 文件(package-lock.json
、yarn.lock
或pnpm-lock.yaml
),而cargo
也类似,会生成Cargo.lock
。第一次启动项目,如果有未安装的依赖,cargo 会自动下载,下载完成后编译并执行:
测试
前往
src/main.rs
添加测试代码:构建
$ cargo build # 生产模式:更长的编译时间,会对代码进行优化(用编译时间换程序性能的提升) $ cargo build --release
默认情况下,执行以下命令,均处于 debug 模式,生成的产物位于
target/debug
目录下:cargo run
- 运行包cargo build
- 构建包cargo test
- 执行包内的所有单元和集成测试cargo check
- 检查本地包及其所有依赖项是否有错误。编译包但不执行代码生成,比运行cargo build
更快(项目越大越明显)但是均可以在后面添加
--release
参数来切换模式,如cargo build --release
,生成的产物位于target/release
目录下。发布
与 npm 将包发布到 npmjs 类似,执行以下命令,会将程序包发布到 crates.io 来进行托管:
Beta Was this translation helpful? Give feedback.
All reactions