Skip to content

请问如何配置cdn地址? #26

Closed

Description

@gucong3000

嘿,我刚从原版OpenList迁移到这个项目,觉得这个项目超酷!我发现前端静态资源从cloudflare加载,速度很慢,于是想到原版的config.json中有个字段可以填写为

{
  "cdn": "https://registry.npmmirror.com/@openlist-frontend/openlist-frontend/$version/files/dist",
}

请问在这个项目中,该怎样配置?

Activity

  1. PIKACHUIM commented on Sep 8, 2026

    @PIKACHUIM
    Member

    好像还没有这个功能(但是会加上)

  2. Wudarensheng commented on Sep 8, 2026

    @Wudarensheng
    Member

    好像还没有这个功能(但是会加上)

    我已做好,过会儿交pr

  3. added a commit that references this issue on Sep 9, 2026
  4. gucong3000 commented on Sep 12, 2026

    @gucong3000
    Author

    太棒了,响应真快,但我觉得实现方式是否绕了个弯子呢?html中有这么一段

    <script>
      window.OPENLIST_CONFIG = {
        cdn: undefined,
        base_path: undefined,
        api: undefined,
        main_color: undefined,
      }
      window.__dynamic_base__ = window.OPENLIST_CONFIG.cdn || ""
    </script>

    直接修改window.OPENLIST_CONFIG.cdn,就能实现从cdn加载文件。无需worker的参与,直连CDN的速度肯定比worker 302中转更强。
    另外,我曾尝试在“设置>全局>自定义头部”中尝试注入<script>标签来实现配置cdn,但我发现这个功能也是失效的。

  5. Wudarensheng commented on Sep 13, 2026

    @Wudarensheng
    Member

    太棒了,响应真快,但我觉得实现方式是否绕了个弯子呢?html中有这么一段

    <script> window.OPENLIST_CONFIG = { cdn: undefined, base_path: undefined, api: undefined, main_color: undefined, } window.__dynamic_base__ = window.OPENLIST_CONFIG.cdn || "" </script>

    直接修改window.OPENLIST_CONFIG.cdn,就能实现从cdn加载文件。无需worker的参与,直连CDN的速度肯定比worker 302中转更强。 另外,我曾尝试在“设置>全局>自定义头部”中尝试注入<script>标签来实现配置cdn,但我发现这个功能也是失效的。

    您好,感谢您的回复。我想了一下,自定义头部的设置仍然是存储在后端持久化里的,每次访问仍然需要去后端查设置然后注入前端加载js,所以仍然需要经过worker。

  6. gucong3000 commented on Sep 14, 2026

    @gucong3000
    Author

    问题就是出在这个“每次访问”。浏览器单次打开单个页面,对HTML的http请求只有一次。对JS、CSS、图片等资源的http请求是几十上百次。

    浏览器打开一次页面,worker就需要在持久化数据里边读取这个配置项几十上百次。而把这个配置项放在HTML里,那后续的几十上百次静态资源http请求,浏览器都直接向CDN发起请求了,根本不经过worker。

    这样改动一下,浏览器单次打开页面,对worker的http请求次数将减少几十上百次。对这个配置项的读取次数,将减少1~2个数量级。

  7. Wudarensheng commented on Sep 16, 2026

    @Wudarensheng
    Member

    问题就是出在这个“每次访问”。浏览器单次打开单个页面,对HTML的http请求只有一次。对JS、CSS、图片等资源的http请求是几十上百次。

    浏览器打开一次页面,worker就需要在持久化数据里边读取这个配置项几十上百次。而把这个配置项放在HTML里,那后续的几十上百次静态资源http请求,浏览器都直接向CDN发起请求了,根本不经过worker。

    这样改动一下,浏览器单次打开页面,对worker的http请求次数将减少几十上百次。对这个配置项的读取次数,将减少1~2个数量级。

    您好,感谢您的回复和反馈,已在PR #60 中实现。但是您也注意到了,现在在讨论前端注入和run_worker_first的问题,所以PR合并可能需要一定的时间甚至close。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions