React部署SPA到自有文件CDN

背景:

  • 我自己搞了个SPA(single page application,单页应用)。
  • 服务器速度非常慢,加载速度令人崩溃
  • 编译出来的JS文件也非常大(>1MB)

解决方案

  • 使用文件CDN放置JS文件,带域名的服务器就放个HTML
  • 换服务器

实现过程

  • 一开始我直接修改了package.json里面的homepage,发现不管用。

我设置的是“homepage”:“https://xxx.xxx.xxx.xxx/cdn/”,然后yarn build,我看了下HTML文件,结果是<script src="/cdn/main.xxxxx.js"></script>,明显不行

然后我采用了一种大胆的想法:自己配置文件,修改public路径,绕过React编译时内部的路径检查,这次成功了

  1. 运行yarn eject
  2. 修改 config/paths.js,修改18-21行,改成这样
const publicUrlOrPath = "https://xxx.xxx.xxx.xxx/cdn/";/*getPublicUrlOrPath(
 process.env.NODE_ENV === 'development',
 require(resolveApp('package.json')).homepage,
 process.env.PUBLIC_URL
);*/

(就是直接替换public路径)

  1. 运行yarn build

证据:截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值