Skip to content

Commit 41a5e77

Browse files
committed
Add doc 11
1 parent 8e066b6 commit 41a5e77

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

doc/11-如何修改URL.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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

Comments
 (0)