二级vue路由直接访问报错

Second level vue route throws error when accessed directly

我在我的 vue 应用程序中使用 vue-router。我的应用程序中有以下路线。

const routes = [
    {name: "home", path: "/", component: Home},
    {name: "user", path: "/user", component: User},
    {name: "edit-user", path: "/user/edit", component: EditUser}
];

const router = new VueRouter({
    routes: routes,
    mode: 'history'
});

这两条路由在使用 router-link 访问时都运行良好,如下所示。

<router-link to="/user">Go to user</router-link>
<router-link to="/user/edit">Edit user</router-link>

如果我直接通过页面刷新访问路由,则路由“/user”可以完美运行。但是路由“/user/edit”在控制台中显示了一个黑页,只有以下错误(没有任何其他错误详细信息)。

Uncaught SyntaxError: Unexpected token <

谁能帮我解决这个问题?

这是一个很小的原因造成的。在我的 HTML 主页面中,js 文件链接如下:

<script type="text/javascript" src="js/app.js"></script>

问题已通过将 src 值从 "js/app.js" 更改为 "/js/app.js" 解决,如下所示:

<script type="text/javascript" src="/js/app.js"></script>

我遇到了同样的问题,我通过添加

解决了这个问题

publicPath: '/'

https://github.com/webpack/webpack-dev-middleware/issues/205#issuecomment-315847782

上建议的我的 Webpack 配置文件中

感谢Mark M. Muskardin