背景:
- 我自己搞了个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编译时内部的路径检查,这次成功了
- 运行
yarn eject
- 修改
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路径)
- 运行
yarn build
证据: