首页 > 什么是“前端路由”?什么时候适合使用“前端路由”?“前端路由”有哪些优点和缺点?

什么是“前端路由”?什么时候适合使用“前端路由”?“前端路由”有哪些优点和缺点?

什么是“前端路由”?什么时候适合使用“前端路由”?“前端路由”有哪些优点和缺点?


楼上已经回答的差不多了,我补充下:
如果你使用 react 那么你会用到 react-router
如果你使用 Vue 那么你会用到 vue-router

这两个都是前端路由 都是做SPA用到的
友情提示一点,用到前端路由的时候,都不会绕过这个问题:http://stackoverflow.com/questions/31519505/how-to-setup-nginx-to-deploy-different-single-page-apps-spas-i-e-static-fil

简单说就是把前端的路由在服务端指向一个文件,否则就404啦。


前端路由里面包括的就是跳转页面的路径


以前路由都是后台做的,通过用户请求的url导航到具体的html页面,前端路由就是通过配置js文件,把这个工作由前端来做,前端路由主要用来替代ajax,可以使页面跳转时不刷新页面且地址栏相应变化,建议你使用angularjs


1,什么是前端路由?

2,什么时候使用前端路由?

3,前端路由有什么优点和缺点?


简单的说,我们打开一个页面,这个页面是个单页应用:http://www.this-is-a-spa.com/
所以它仅仅只有一个页面,不过作者却做了好几个 URL:

http://www.this-is-a-spa.com/a
http://www.this-is-a-spa.com/b
http://www.this-is-a-spa.com/c
...

这些 URL 不会直接传给服务器,而是会被浏览器消化处理掉.

这样做,我们可以:

所以~


前端路由和后端路由, 本质上并没有什么不同

前端路由更多用在单页应用上, 也就是SPA, 因为单页应用, 基本上都是前后端分离的, 后端自然也就不会给前端提供路由

这东西没什么优点缺点可言, 主要看项目是否需要


我这有一个现成的前端桌面应用项目

贴上代码


import React from 'react'
import { store } from './redux/store/renderStore'
import { render } from 'react-dom'
import App from './containers/App'
// import Login from './components/Login'
// import TodoHome from './components/TodoHome'
import Welcome from './containers/Welcome'
import List from './containers/List'
import Todo from './containers/Todo'
// import MusicHome from './components/MusicHome'
// import TodoEdit from './components/TodoEdit'
// import TodoDone from './components/TodoDone'
// import TodoDelete from './components/TodoDelete'
// import TodoAdd from './components/ToMy doAdd'
// import TodoDetail from './components/TodoDetail'
// import VideoHome from './components/VedioHome'
// import DiaryHome from './components/DiaryHome'
// import PhotoHome from './components/PhotoHome'
// import Setting from './components/Setting'
// import Introduce from './components/Introduce'
import { Router, Route } from 'react-router'
import { Provider } from 'react-redux'
// import { logger } from './common/log4js'
import './renderProcess/appwin'
// import './common/devtools'
// import { openWelcome } from './common/desktop'
import './style/App.scss'



// setTimeout(() => {
//   openWelcome()
// },10000)


//检测store
// console.log(store.getState())
//路由配置
render(
  <Provider store={store}>
    <Router>
      <Route path="/" component={App} >
        <Route path="/welcome" component={Welcome}/>
        <Route path="/list" component={List}/>
        <Route path="/VideoHome " component={VideoHome }/>
        <Route path="/DiaryHome " component={DiaryHome }/>
        <Route path="/PhotoHome " component={PhotoHome }/>
        <Route path="/TodoDetail " component={TodoDetail }/>
        <Route path="/todo" component={Todo}/>
      </Route>
    </Router>
  </Provider>,
  document.getElementById('root')
)
【热门文章】
【热门文章】