当本地打包后的文件,直接通过文件路径访问,出现空白或者,提示打包后的build内的js,css文件路径错误,有以下两种方式

方式一(无网络限制的情况下使用):

1.全局安装serve启动本地服务; npm i -g derve

2.项目打包后,在项目根目录下运行 serve -s ./build

3.访问http://localhost:3000/ 预览项目即可

方式二(这种方式推荐在无网络,情况下使用):在打包之前,在 package.json 中 private 下(位置任意)添加"homepage": "./"

这样在你点击index.html时候路径没有问题不会报错,但是页面可能还是空白的

然后将项目中的引用路由时候的BrowserRouter改为HashRouter,所有用到的地方都要改

然后执行yarn build 或者 npm run build

再点开index.html就不会报错

原因:

​ 你必须把build里的文件直接放到应用服务器的根路径下,比如,你的服务器IP是172.16.38.253,应用服务器端口为8080,你应该保证http://172.16.38.253:8080这种访问方式,访问到的是你的build下的文件。如果你希望以http://172.16.38.253:8080/build/index.htm这种方式访问应用,那么你可以在package.json文件中增加一个homepage字段。

在服务器下运行和直接打开html文件有什么区别?

​ 最直接的区别,很容易注意到,一个是file协议,另一个是http协议。file协议更多的是将该请求视为一个本地资源访问请求,和你使用资源管理器打开是一样的,是纯粹的请求本地文件。而http请求方式则是通过假架设一个web服务器,解析http协议的请求然后向浏览器返回资源信息。我们所开发的html文件最后必定是会以网页的形式部署在服务器上,通过http协议访问,所以我们开发中也尽可能模拟线上环境,架设本地服务器,来避免file协议与http协议实现过程中的某些差异性,如某些API的差异、跨域请求的差异等。举个最容易验证的例子:在页面引入一张绝对路径的图片,即'/image/example.png',然后分别通过这两种方式打开页面,file协议会将资源请求到根路径,而http协议虽然也会请求到根路径,但是是相对本地架设的服务器的根路径,一般也就是项目文件夹的路径。

​ html是运行于客户端的超文本语言,从安全性上来讲,服务端不能对客户端进行本地操作。即使有一些象cookie这类的本地操作,也是需要进行安全级别设置的。

最新文章

  1. JS加密库Crypto-JS SEA加密
  2. SPSS常用基础操作(1)——变量分组
  3. 修复UIImagePickerController偷换StatusBar颜色的问题
  4. 动态SQL之标签
  5. Designing Evolvable Web API with ASP.NET 随便读,随便记 “The Internet,the World Wide Web,and HTTP”——HTTP
  6. ViewPager和SwipeRefreshLayout之间嵌套使用时发生"事件"冲突
  7. 使用 getNextException() 来检索已经过批处理的特定元素的异常。 ERRORCODE=-4228, SQLSTATE=null
  8. Filtering Specific Columns with cut
  9. PHP新手之学习类与对象(1)
  10. GPIO寄存器
  11. Java基础语法<七> 对象与类
  12. 使用Navicat for MySQL把本地数据库上传到服务器
  13. 一。Hibernate 开发流程
  14. Linux系统中存储设备的两种表示方法
  15. (Solved) Nexiq USB link with CAT ET: connection error 149
  16. Tomcat优化之容易集合经验
  17. Hbase数据表解析
  18. python中TCP粘包问题解决方案
  19. 【POJ3045】Cow Acrobats(贪心)
  20. python全栈开发day23-面向对象高级:反射(getattr、hasattr、setattr、delattr)、__call__、__len__、__str__、__repr__、__hash__、__eq__、isinstance、issubclass

热门文章

  1. strapi系列-如何创建一个定时任务-Cron Jobs
  2. 今天遇到的报错Babel noteThe code generator has deoptimised the styling of ...as it exceeds the max of 500KB.
  3. 行为型模式 - 命令模式Command
  4. 【Android】Android 源码方式使用 opencv 库文件
  5. P5192 Zoj3229 Shoot the Bullet|东方文花帖|【模板】有源汇上下界最大流
  6. LinkedHashmap简要说明
  7. JAVA虚拟机10---内存分配策略
  8. 企业级GitLab在Docker部署使用
  9. Vue过滤案例、按键修饰符、数据双向绑定
  10. Java前后端请求Content-Type与接受方式