一步
一步
@duwenbin0316 你好,我仔细看了下相关的代码,发现 PROD_URLS.packager 对应的地址主要是在正常请求失败后,循环调用这个接口判断相关的 npm 包是否打包完成。如果打包完成,再请求 PROD_URLS.bucket 对应接口进行获取打包后的结果。 这个判断是否打包完成的接口,应该是 CodeSandbox 的 npm 打包服务部署的亚马逊云计算平台提供的接口,而不是 npm 打包服务本身提供的。 至于我自己的项目,是没有走到这个 catch 里面的,都是可以直接打包成功的。 
## 关于 codesandbox 构建含有 antd npm 包的前端项目时,会请求近千个 antd 包的依赖文件问题的原因分析和解决方案 构建的两个阶段: ### 第一阶段 -- 依赖包预加载 (Npm Preload Stage) Codesandbox 在正式构建前端项目时,会先根据项目 package.json 中的 dependencies 中,提前请求 Codesandbox 的 npm 解析服务 Packager,将前端项目需要的 npm 资源进行预加载,目的是为了在第二阶段--编译前端项目文件时无需动态请求需要的文件。...
## 关于 codesandbox packager 服务的无法返回所有依赖文件的问题和解决办法 codesandbox packager 是提供 codesandbox bundler 编译前端项目前提前获取项目依赖内容的服务。 下面以 `[email protected]` 为例: 某个前端项目中依赖了 `[email protected]`,则构建该项目前,会向 codesandbox packager 服务请求 `[email protected]` 包的涉及到的所有文件。 ### packager 服务原理 packager 服务的原理就是先将 `[email protected]` 包通过 yarn 下载到硬盘上,然后通过...
@lifubang 很感谢对本文的夸奖,最近确实在总结一年多来对沙箱的优化,内容都会记录在最新的文章 [《CodeSandbox 沙箱性能优化篇》](https://github.com/mcuking/blog/issues/110),敬请期待。 至于源代码,主体还是 codesandbox 官方开源的那两个项目,所有的改造点都会在这两篇沙箱文章中提到,感觉没太大必要开源~
@zhangrunhao 没有缓存 html,所以还没有做到页面秒开
> 请教一下不缓存HTML是出于什么考虑呢? 因为当时并没有想好如何在缓存HTML的同时还可以避免HTML不更新,目前在新公司已经找到了类似的解决方案,后面有时间会把我的这个方案完善好
> 您好,好像没有看到管理平台数据库方面是怎么部署的? 离线包管理平台源码在这里 https://github.com/mcuking/offline-package-admin 我个人是采用 docker 部署的,里面会有相关配置,数据库用的是 mysql,当然你也可以采用其它方式
> 我想问一下有没有具体部署的步骤,有文档指导一下吗,谢谢 后面我在离线包管理平台项目里写下具体的部署步骤吧,最近没有太多时间。
> 不知道如何结合到自己的项目里 主要是三部分: 1. 前端部分只需要集成一个 webpack 插件到项目中,用来打包离线包; 2. 客户端也是只需要集成一个插件,用来管理离线包版本、根据规则拦截前端资源等; 3. 在服务器上部署一个离线包平台,用来管理离线包,并向客户端提供最新的离线包信息。 这三部分我都有开源,可以在上面定制哦~
> 有没iOS版本的demo~? 是的,暂时没有 iOS 版本