mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2025-01-14 06:10:26 +08:00
Update Ch14
This commit is contained in:
parent
216aa52513
commit
cca3baf6c0
@ -335,26 +335,26 @@ fn main() {
|
||||
|
||||
*清单 14-6:使用着 `art` 代码箱重导出项的程序*
|
||||
|
||||
在那些其中有着许多嵌套模组的情形下,于代码箱结构的顶部,使用 `pub use` 重导出一些类型,可在那些用到该代码箱的人体验上,造成显著不同。`pub use` 的另一常见用途,则是重导出当前代码箱中某项依赖的一些定义,而把那个依赖代码箱的一些定义,构造为咱们自己代码箱的公开 API。
|
||||
其中有许多嵌套模组的情形下,以 `pub use` 在顶层重导出类型,可在用到该代码箱的人的体验方面,造成显著不同。`pub use` 的另一常见用途则是,为将依赖代码箱的定义构造为咱们自己代码箱公开 API 的一部分,而重导出当前代码箱中某个依赖的定义。
|
||||
|
||||
创建出一种有用的公开 API 结构,与其说是一门科学,不如说是一门艺术,同时可以不断迭代,来找出对于代码箱用户运作最佳的那种 API。而选择 `pub use` 则会给到在内部组织代码箱方式上的灵活性,同时解偶了内部结构,与呈现给代码箱用户的组织结构。请查看曾安装过的一些代码箱的代码,来检视他们内部结构,是否不同于他们的公开 API。
|
||||
创建出有用的公开 API 结构,与其说是一门科学,不如说是一门艺术,而咱们可不断迭代,来找到对用户运作最佳的 API。选择 `pub use` 会给到咱们在内部组织代码箱方式上的灵活性,并解除了内部结构与呈现给代码箱用户的组织结构的耦合。请查看咱们曾安装的代码箱代码,来发现他们的内部结构,是否不同于其公开 API。
|
||||
|
||||
|
||||
### 建立一个 Crates.io 帐号
|
||||
### 建立 Crates.io 帐号
|
||||
|
||||
在能够发布代码箱之前,咱们需要在 [crates.io](https://crates.io) 上创建一个帐号,并获取到一个 API 令牌(an API token)。而要这样做,就要访问 [crates.io](https://crates.io) 处的主页,并经由一个 GitHub 帐号登录。(GitHub 帐号目前是必须的,但该站点后面可能会支持创建帐号的其他途径。)在登录之后,就要访问 [https://crates.io/me/](https://creates.io/me/) 处的帐号设置,并找回自己的 API 密钥(API key)。然后使用这个 API 密钥,运行 `cargo login` 命令,如下:
|
||||
在咱们能发布代码箱之前,咱们需要在 [crates.io](https://crates.io) 上创建帐号,并得到 API 令牌,an API token。而要这样做,就要访问 [crates.io](https://crates.io) 处的主页,并通过 GitHub 帐号登录。(目前 GitHub 帐号是必须的,但该站点今后可能会支持其他创建帐号途径。)在登录后,咱们就要访问 [https://crates.io/me/](https://creates.io/me/) 处的帐号设置,而获取自己的 API 密钥,API key。然后使用咱们的 API 密钥,运行 `cargo login` 命令,如下:
|
||||
|
||||
```console
|
||||
$ cargo login abcdefghijklmnopqrstuvwxyz012345
|
||||
```
|
||||
|
||||
此命令将告知 Cargo 咱们的 API 令牌,并将其存储在本地的 `~/.cargo/credentials` 文件中。请注意此令牌是个 *秘密(secret)*:不要与其他任何人分享这个秘密。不论以何种方式,让任何人知道了API 令牌,那么就都应该吊销这个 API 令牌,并在 [crates.io](https://crates.io) 上重新生成一个新的令牌。
|
||||
此命令将告知 Cargo 咱们的 API 令牌,并在 `~/.cargo/credentials` 文件中本地存储起来。请注意此令牌是个 *秘密,secret*:不要与任何人分享。不论因何种缘故,与任何人分享了,咱们都应吊销他,并在 [crates.io](https://crates.io) 上生成新的令牌。
|
||||
|
||||
### 给新的代码箱添加元数据
|
||||
### 添加元数据到新代码箱
|
||||
|
||||
**Adding Metadata to a New Crate**
|
||||
Adding Metadata to a New Crate**
|
||||
|
||||
好比说有个打算发布的代码箱。在发布之前,就将需要在该代码箱的 `Cargo.toml` 文件的 `[package]` 小节中,添加一些元数据。
|
||||
假设咱们有了个打算发布的代码箱。在发布前,咱们将需要在该代码箱的 `Cargo.toml` 文件的 `[package]` 小节中,添加一些元数据。
|
||||
|
||||
咱们的代码箱将需要一个独特的名字。尽管在本地编写某个代码箱时,可以给代码箱取任意喜欢的名字。但是,[crates.io](https://crates.io) 上代码箱的名字,则是以先到先得的原则分配的(allocated on a first-come, first-served basis)。一旦某个代码箱名字被使用,其他人就不能发布有着那个名字的代码箱了。在尝试发布某个代码箱之前,就要检索一下咱们打算使用的那个名字。在这个名字已被使用时,就需要找到另一个名字,并编辑 `Cargo.toml` 文件中 `[package]` 小节下的 `name` 字段,以在使用那个用于发布的新名字,就像下面这样:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user