比如我要访问的是首页 http://localhost:3000/
地址栏显示的是 http://localhost:3000/#/
这样子就很丑了,请问要怎么去掉?
还有就是看到vue教程中的demo 路径中也是带#,路径中带#这样做有什么意义吗
比如我要访问的是首页 http://localhost:3000/
地址栏显示的是 http://localhost:3000/#/
这样子就很丑了,请问要怎么去掉?
还有就是看到vue教程中的demo 路径中也是带#,路径中带#这样做有什么意义吗
刚刚爬完这个坑,我真的不能理解为什么那么多人不停地回答一些不能用的答案,能不能自己试试再来写?
首先,经过本人测试,
import { BrowserHistory } from 'dva/router' 这个 history 是不能去掉#的!!!
应该使用
import { createBrowserHistory } from 'history'
注意这里的 createBrowserHistory 是一个方法,执行后返回一个 history 对象,和上面那个 BrowserHistory 不同!
然后在dva的初始化对象里写:
const app = dva({ history: createBrowserHistory() })
以下是我的代码:
import React from 'react';
import dva from 'dva';
import { BrowserRouter as Router, Route } from 'dva/router';
import { createBrowserHistory } from 'history';
import { getModels } from './utils/combiner';
import './global.scss';
import mainRect from './pages/mainRect/main';
const app = dva({
history: createBrowserHistory()
});
app.router(() =>
<Router>
<Route path={'/'} component={mainRect} />
</Router>
);
getModels().map((model) => app.model(model));
app.start('#main-rect');
在index.js里
import { createBrowserHistory as createHistory } from 'history'
const app = dva({
history:createHistory()
});
ps:dva2.3.1版已不能直接使用history:browserHistory来修改hash路由
4 回答1.6k 阅读
2 回答1.1k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答959 阅读✓ 已解决
1 回答686 阅读✓ 已解决
2 回答848 阅读✓ 已解决
2 回答1k 阅读
html5的history
API,老浏览器不兼容