Vue学习故障:index.html无法渲染,router-link不可点击求助
问题排查:Vue3路由无法渲染、router-link无法跳转
结合你提供的代码和项目情况,以下是几个核心排查点:
1. 检查vue-router依赖版本与引入
你当前使用本地scripts/vue-router.js,但Vue3必须搭配vue-router@4版本。如果本地文件不存在、版本不对或路径错误,会直接导致路由功能失效:
- 临时替换为CDN链接验证:将
<script src="scripts/vue-router.js"></script>替换为:<script src="https://unpkg.com/vue-router@4/dist/vue-router.global.js"></script> - 若替换后功能正常,说明本地的vue-router文件存在问题,重新下载对应版本的文件到
scripts目录即可。
2. 验证app.js中的路由配置与挂载
路由功能生效的核心是在Vue应用中正确注册路由实例,检查你的scripts/app.js是否包含以下关键逻辑:
// 解构Vue和VueRouter的API const { createApp } = Vue const { createRouter, createWebHistory } = VueRouter // 定义路由组件 const Home = { template: '<h2>Početna stranica</h2>' } const StudentForma = { template: '<h2>Dodavanje studenta</h2>' } // 配置路由规则 const routes = [ { path: '/', component: Home }, { path: '/studentForma', component: StudentForma } ] // 创建路由实例 const router = createRouter({ history: createWebHistory(), // 使用HTML5历史模式 routes }) // 创建Vue应用并挂载路由 createApp({}) .use(router) // 必须调用use注册路由,否则路由组件不生效 .mount('#app')
如果app.js中缺少use(router)调用、路由规则配置错误,或组件定义缺失,都会导致router-link无法跳转、router-view无内容。
3. 查看浏览器控制台错误
打开浏览器开发者工具(F12)→ Console标签,查看是否有以下类型错误:
VueRouter is not defined:说明vue-router未正确加载- 404错误:对应文件(如vue-router.js、app.js)路径错误
- 路由相关警告:比如路由规则未匹配、组件未定义
这些错误信息是定位问题最直接的依据。
4. 清理冗余资源引入
你的index.html中重复引入了styles/style.css,虽然不影响路由功能,但建议删除冗余代码,避免潜在的资源加载冲突。
内容的提问来源于stack exchange,提问作者besplatne gace
相关产品推荐
相关产品推荐

