更新:
事实证明,这是Windows上Vue网页包模板中的一个漏洞,很快就会修复
问题:
我启动了一个新的Vue项目,安装了vue init webpack projectName
个,现在我刷新页面时得到了:Cannot GET /path
(在本地主机上).
例如,如果我转到/contact
,我会看到页面的内容,但只要我点击刷新,我就会看到Cannot GET /contact
更重要的是,你现在不能简单地在地址栏中手动输入路由,你会得到同样的错误.
- 我有
mode: 'history'
个 - 我在localhost(
npm run dev
)上看到了这一点
几天前它确实工作正常.我现在该怎么做?
互联网上的所有答案都不是有用的(也许我没有正确地应用它们)
索引.js
import Vue from 'vue'
import Router from 'vue-router'
import Vuetify from 'vuetify'
import 'vuetify/dist/vuetify.min.css'
import Home from '@/components/Home'
import Contact from '@/components/Contact'
Vue.use(Router)
Vue.use(Vuetify)
export default new Router({
mode: 'history',
routes: [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/contact',
name: 'Contact',
component: Contact
}
]
})
正因为如此,我现在无法让这个重定向工作:
{
path: '*',
redirect: '/'
}
我也犯了同样的错误.
所以我想这可能是Vue网页包的模板错误,我注意到webpack.dev.conf.js
现在有点不同,现在有这样的行:
devServer: {
clientLogLevel: 'warning',
historyApiFallback: {
rewrites: [
{ from: /.*/, to: path.join(config.dev.assetsPublicPath, 'index.html') },
],
},
[...]
我认为这与此有关.