记browserRouter中访问子路由报错

报错环境:在React项目index.html中引入带有全局变量的js文件,然后直接访问子路由并刷新,控制台报错

<script src="../lib/wechat/jweixin-1.2.0.js"></script> 


解决方法:把引入的全局js由相对路径修改为根路径“/lib”

<script src="/lib/wechat/jweixin-1.2.0.js"></script>  


分析原因:因为webpackdevserver是把打包后的文件放在内存中访问,当访问子路由时devserver会把其当成在对应的子目录下故访问不到而报错,所以要改成根目录

补充:<browserRouter/>是使用 HTML5 提供的 history API (pushState, replaceState 和 popstate 事件) 来保持 UI 和 URL 的同步,常配合服务端渲染来使用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 5,322评论 4 31
  • Vue路由的实现原理 路由这个概念最初是由后端提出来的,在我们没有SPA单页面应用之前,使用的一直都是后端路由,根...
    郝晨光阅读 1,941评论 0 19
  • 路由 根据不同的url地址,展示不同的内容或页面。 前端路由 定义:在单页面应用,大部分页面结构不变,只改变部分内...
    焦迈奇阅读 1,019评论 1 3
  • 红宝书 综合 script加载js会阻塞渲染,标签中 fefer 指异步加载js,在文档load之后按顺序执行。a...
    wayshon阅读 922评论 0 4
  • 读: P46::用亚历克斯以前在游戏中学过的不、相同,不同和或者这些字词,妈妈帮助他思考了为什么她不想让他在墙上画...
    留吉亚阅读 623评论 1 4