直接访问二级vue路由时出错

Aru*_*san 1 javascript vue.js vue-router vuex vuejs2

我在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'
});
Run Code Online (Sandbox Code Playgroud)

在使用router-link以下给定的路径访问时,两条路线都可以正常工作。

<router-link to="/user">Go to user</router-link>
<router-link to="/user/edit">Edit user</router-link>
Run Code Online (Sandbox Code Playgroud)

如果我直接通过页面访问路由,则路由“ / user”会完美工作。但是路由“ / user / edit”显示黑页,控制台中仅包含以下错误(没有其他任何错误详细信息)。

Uncaught SyntaxError: Unexpected token <
Run Code Online (Sandbox Code Playgroud)

谁能帮我解决这个问题?

Ume*_*han 15

我遇到了同样的问题,我通过添加解决了这个问题

publicPath: '/'

https://github.com/webpack/webpack-dev-middleware/issues/205#issuecomment-315847782 上建议的我的 Webpack 配置文件中

感谢Mark M. Muskardin


Aru*_*san 5

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

<script type="text/javascript" src="js/app.js"></script>
Run Code Online (Sandbox Code Playgroud)

这个问题是固定由改变src值"js/app.js""/js/app.js"如下:

<script type="text/javascript" src="/js/app.js"></script>
Run Code Online (Sandbox Code Playgroud)