我正在尝试创建一个 Vue SPA 应用程序。但是该路由似乎与我在路由器中定义的不匹配。我不明白为什么会这样。据我所知,一切都应该正常工作。我在这里缺少什么?我的 index.html<html> <head> <title>New Vue.js Project</title> <script src="assets/js/vue.js"></script> <script src="assets/js/vue-router.js"></script> </head> <body> <div id="app"> {{ 'Route: ' + JSON.stringify($route) }} <v-app> <router-view></router-view> </v-app> </div> <script type="module" src="app.js"></script> </body></html>我的 app.jsimport routes from './routes.js'new Vue({ el: '#app', router: routes, data: { msg: 'Hello World!', },})我的路线.jsimport Index from './views/Index.js'Vue.use(VueRouter)export default new VueRouter({ mode: 'history', routes: [ { name: 'index', path: '/', component: Index, }, ],})当我导航到http://localhost/new-vue-project/并打印 {{ $route }} 我得到这个:{ "name":null, "path":"/new-vue-project/", "fullPath":"/new-vue-project/", "matched": [ ]}我还尝试向路由器添加基本属性,但得到了相同的结果。base: 'http://localhost/new-vue-project/',
1 回答
当年话下
TA贡献1890条经验 获得超9个赞
relative根据文档,我认为您需要使用没有域名(localhost)的路径,如下所示:
base: '/new-vue-project/'
还可以在vue.config.js文件中全局配置公共路径:
module.exports = {
publicPath: process.env.NODE_ENV === 'development' ? '/new-vue-project/' : (process.env.VUE_APP_MY_APP_BASE_PATH || '/')
}
添加回答
举报
0/150
提交
取消