首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Vue路由器/ Webpack开发服务器显示现在不能在页面上刷新/path?

为什么Vue路由器/ Webpack开发服务器显示现在不能在页面上刷新/path?
EN

Stack Overflow用户
提问于 2018-01-06 01:42:05
回答 8查看 11.2K关注 0票数 9

更新:

原来它是Windows上Vue webpack模板中的一个bug,很快就会修复

问题:

我用vue init webpack projectName安装了一个新的Vue项目,现在我在刷新页面时得到了:Cannot GET /path (在本地主机上)。

例如,如果我去/contact,我会看到页面的内容,但是一旦我点击刷新,我就得到了Cannot GET /contact

更重要的是,您现在不能简单地手动在地址栏中键入路由,您将得到相同的错误。

  • 我有mode: 'history'
  • 我在本地主机(npm run dev)上看到了这个

几天前它确实正常工作了。我现在该怎么做?

互联网上的所有答案都是没用的(也许我没有正确地应用它们)

index.js

代码语言:javascript
复制
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
    }
  ]
})

正因为如此,我现在也不能做这种重定向的工作了:

代码语言:javascript
复制
{
  path: '*',
  redirect: '/'
}

我也会犯同样的错误。

所以我想这可能是Webpack的模板错误,我注意到webpack.dev.conf.js现在有点不同,现在有这样的线条:

代码语言:javascript
复制
devServer: {
    clientLogLevel: 'warning',
    historyApiFallback: {
      rewrites: [
        { from: /.*/, to: path.join(config.dev.assetsPublicPath, 'index.html') },
      ],
    },
    [...]

我想这和这件事有关。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2018-01-06 09:04:19

在您的webpack.dev.conf.js中,将historyApiFallback: true添加到historyApiFallback: {...}的上方。您可以在github上找到配置中的一些更改。

编辑

尝试将--history-api-fallback添加到package.json中的在线"dev": "webpack-dev-server --inline --history-api-fallback --progress --config build/webpack.dev.conf.js"中,然后再次运行npm install。或者尝试用这个args创建新项目。

注意,该行中缺少的--history-api-fallback可能导致了问题。希望这能解决你的问题。只有这样我才能解决我的错误。

票数 18
EN

Stack Overflow用户

发布于 2018-11-21 00:59:49

对于那些通过VUE CLI 3偶然发现这个问题的人,请将下面的代码添加到vue.config.js中,然后重新运行yarn run serve

代码语言:javascript
复制
module.exports = {

  configureWebpack: {
    devServer: {
      historyApiFallback: true
    }
  }

};
票数 11
EN

Stack Overflow用户

发布于 2018-03-01 11:49:25

我也有同样的问题。结果表明,如果在dev.config中使用Htmlwebpack插件,则不会自动将html写入磁盘,因此需要HtmlWebpackHarddiskPlugin并在HtmlWebpackPlugin中设置alwaysWriteToDisk: true

代码语言:javascript
复制
new HtmlWebpackPlugin({
    template: 'index.html',
    title: 'You app',
    alwaysWriteToDisk: true,
}),
new HtmlWebpackHarddiskPlugin(),
new webpack.HotModuleReplacementPlugin()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48123503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档