账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    基于react全家桶的后台系统运行之后有时候会跳转到一个只有代码的页面
    69
    0

    最近在做一个基于react全家桶的项目,运行的时候是好的,也Git到了分支里(分支里面的代码是无误的)。
    某天开始,运行项目可以显示正常页面,后来也不知道是不是修改了什么,刷新之后,主页变成了一个只有代码的页面,看了一下network,显示304,没有加载js和css样式。
    找了很久的原因没有找到bug,于是我干脆重新拉去代码,还是出现这个问题。(这里用的是自己的电脑)。
    回到公司,公司电脑的代码也直接从Git 上拉取,可以运行,没有出现任何毛病。
    后来在网上看到304会因为缓存出现问题,把自己电脑浏览器的缓存清理了一下就OK了。
    后来莫名其妙公司的电脑项目运行着也出现了上面的问题,清理了浏览器缓存还是会出现这个问题。于是重新拉去分支,还是不行。直接删掉项目,重新拉取一个还是不行。
    所以我知道代码应该没有bug,但不懂为什么会出现这样的原因。求解,谢谢各位!

    现在用的自己电脑,公司的电脑运行项目出现问题,所以无法截图,页面就是一串主页面的html代码,network显示的304,css和js没有加载。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ℡音符流濄の回忆 普通会员 1楼

      在React全家桶中,可以使用React Router库来实现动态路由,这样可以在后台系统运行后跳转到只包含代码的页面。以下是一个简单的示例:

      首先,安装React Routerreact-router-dom库:

      bash npm install react-router-dom react-router

      然后,创建一个名为App的React组件,并在其中包含一个路由:

      ```jsx import React from 'react'; import { BrowserRouter as Router, Route } from 'react-router-dom';

      function App() { return (

      My React App

      Home

      }>

      This is the homepage

      About

      }>

      This is the about page

      Contact

      }>

      This is the contact page

      ); }

      export default App; ```

      在这个示例中,我们定义了三个路由:/, /about, 和 /contact。每个路由都有一个Route组件,该组件渲染为一个具有特定内容的页面。exact参数表示这个路由是唯一路径,只允许有匹配的匹配项(在这种情况下,只有一个匹配项/)。

      App组件内部,我们使用BrowserRouter组件来创建一个简单的React Router应用。这个组件默认渲染一个空白的页面,每个路由的路径被解析为一个字符串,并使用Route组件来渲染对应的页面。

      当用户访问一个路径时,Router组件会根据路由的状态进行导航,例如,当用户访问/时,它会渲染Home页面,当用户访问/about时,它会渲染About页面,以此类推。

      当路由的状态发生变化时,React Router会自动刷新浏览器,以便重新渲染所有的路由。这样,当后台系统运行后,即使路由的内容改变了,用户也不会看到任何变化,因为它们被路由的名称替换为只包含代码的页面。

      注意:这个示例假设你已经有一个与App组件关联的App.js文件,其中包含了路由的配置。你需要在App.js文件中定义路由的规则和参数,例如:

      ```jsx import React from 'react'; import { BrowserRouter as Router, Route } from 'react-router-dom';

      function App() { return (

      My React App

      Home

      }>

      This is the homepage

      About

      }>

      This is the about page

      Contact

      }>

      This is the contact page

      ); }

      export default App; ```

      在这个示例中,我们使用了BrowserRouter组件和Route组件来创建路由,并定义了exact参数。<Route exact path="/" component={() => <h2>Home</h2>}>表示这个路由是唯一路径,只有/匹配项。<Route path="/about" component={() => <h2>About</h2>}>表示这个路由是关于页面,只有/about匹配项。<Route path="/contact" component={() => <h2>Contact</h2>}>表示这个路由是关于页面,只有/contact匹配项。<Route path="/*" component={() => <h2>Home</h2>}>表示这个路由是一个公共页面,所有的路由都匹配这个匹配项。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部