react打包成html5,create-react-app项目打包相关问题

本文主要讨论了在React项目中,使用`create-react-app`打包后遇到的直接打开index.html报错问题及其解决方案。通过修改`package.json`的`homepage`字段,调整资源引入路径为相对路径,以及在Windows和Mac/Linux系统下设置`PUBLIC_URL`环境变量,可以解决直接访问的问题。同时,文章提到了在不eject情况下通过`react-app-rewired`插件修改配置,以实现如Antd Mobile的按需加载和LESS文件处理。最后,文章介绍了通过eject暴露配置文件并进行修改以解决样式丢失等问题。
摘要由CSDN通过智能技术生成

Q1. yarn build打包生成的文件直接点击index.html报错,打不开,导致的问题是yarn build打包生成的文件部署到服务器时只能在服务器根目录,如果在其他文件夹里面会报错

A1:

默认情况下,index.html中引入js和css的方式是,需要在本地启一个服务器才行,即在打包文件根目录下打开命令行,输入http-server,即可通过localhost:8080来访问到项目。

解决办法是:

1.将所有引入资源文件的地方路径改为./,eg:,即可通过直接点击index.html来打开项目。

2.打包前在package.json文件里添加一个配置:"homepage":".",打包之后资源文件路径前面都会加上一个点

{

"name": "test04",

"version": "0.1.0",

"private": true,

"dependencies": {

"react": "^16.0.0",

"react-dom": "^16.0.0",

"react-scripts": "1.0.17"

},

"scripts": {

"start": "react-scripts start",

"build": "react-scripts build",

"test": "react-scripts test --env=jsdom",

"eject": "react-scripts eject"

},

"homepage":"."

}

这样直接点开会有一个报错

registerServiceWorker.js:71 Error during service worker registration: DOMException: Failed to register a ServiceWorker: The URL protocol of the current origin ('null') is not supported.

原因是serviceWorker不支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值