|
| 1 | +<!-- ----------------------------------------------------------- |
| 2 | + ! SPDX-License-Identifier: GFDL-1.3-or-later |
| 3 | + ! ------------------------------------------------------------- |
| 4 | + ! Doc Type : Markdown |
| 5 | + ! Doc Name : 11-如何修改URL.md |
| 6 | + ! Doc Authors : Aoran Zeng <[email protected]> |
| 7 | + ! Contributors : Nul None <[email protected]> |
| 8 | + ! | |
| 9 | + ! Created On : <2025-08-11> |
| 10 | + ! Last Modified : <2025-08-11> |
| 11 | + ! ---------------------------------------------------------- --> |
| 12 | + |
| 13 | +# 新增/修改换源 URL |
| 14 | + |
| 15 | +在 `_prelude()` 函数中,在 `def_sources_begin()` 的位置的**第二列**,新增/修改你想要替换的URL。 |
| 16 | + |
| 17 | +**注: 以下代码仅起解释作用,JavaScript换源的真正实现可能不同** |
| 18 | + |
| 19 | +```c |
| 20 | +def_sources_begin() |
| 21 | +{&UpstreamProvider, "https://registry.npmjs.org/", FeedByPrelude}, |
| 22 | +{&NpmMirror, "https://registry.npmmirror.com", FeedByPrelude}, |
| 23 | +{&Huawei, "https://mirrors.huaweicloud.com/repository/npm/", FeedByPrelude}, |
| 24 | +{&Tencent, "https://mirrors.cloud.tencent.com/npm/", FeedByPrelude}, |
| 25 | +{&某新镜像站, "某镜像站提供的换源URL", FeedByPrelude} |
| 26 | +def_sources_end() |
| 27 | +``` |
| 28 | +
|
| 29 | +<br> |
| 30 | +
|
| 31 | +
|
| 32 | +# 提供精准测速 URL |
| 33 | +
|
| 34 | +在 `_prelude()` 函数中,在 `def_sources_begin()` 的位置的**第三列**,新增/修改你想要替换的URL。 |
| 35 | +
|
| 36 | +1. 在下面代码的第一行中,我们直接给了一个链接,**这就是精准测速 URL** |
| 37 | +2. 在下面代码的第二行和第三行中,我们都设置了一个宏 `DelegateToMirror`,这意味着我们没有直接提供精准测速 URL,而是让 `chsrc` 去测试其对应镜像站定义的测速 URL |
| 38 | +
|
| 39 | + - `NpmMirror` 是专用镜像站,所以其测速链接被设置为了 `ACCURATE`,即精准测速 |
| 40 | + - `Huawei` 是通用镜像站,所以其测速链接被设置为了 `ROUGH `,即模糊测速 |
| 41 | +
|
| 42 | +3. 在下面代码的第四行中,我们设置了一个宏 `FeedByPrelude`,这意味着我们将在 `_prelude()` 函数的后续动态计算 URL |
| 43 | +
|
| 44 | +**注: 以下代码仅起解释作用,JavaScript换源的真正实现可能不同** |
| 45 | +
|
| 46 | +```c |
| 47 | +def_sources_begin() |
| 48 | +{&UpstreamProvider, "https://registry.npmjs.org/", "https://registry.npmjs.org/BigFile.tar.gz"}, |
| 49 | +{&NpmMirror, "https://registry.npmmirror.com", DelegateToMirror}, |
| 50 | +{&Huawei, "https://mirrors.huaweicloud.com/repository/npm/", DelegateToMirror}, |
| 51 | +{&Tencent, "https://mirrors.cloud.tencent.com/npm/", FeedByPrelude}, |
| 52 | +def_sources_end() |
| 53 | +
|
| 54 | +// 把所有上述源的测速 URL 设置为 "换源 URL" + postfix |
| 55 | +chsrc_set_sources_speed_measure_url_with_postfix (this, "/dir/BigFile.tar.gz"); |
| 56 | +// 基于 "换源 URL" 做更自定义的操作 |
| 57 | +chsrc_set_sources_speed_measure_url_with_func (this, func, data); |
| 58 | +
|
| 59 | +// 调整某一个镜像站(Provider)的测速 URL |
| 60 | +chsrc_set_provider_speed_measure_url (&Tencent, "https://mirrors.cloud.tencent.com/npm/BigFile.tar.gz") |
| 61 | +// 调整某一个镜像站(Provider)的测速精度 |
| 62 | +chsrc_set_provider_speed_measure_accuracy (&UpstreamProvider, ROUGH);; |
| 63 | +``` |
0 commit comments