首页 > 解决方案 > Vue-cli3 演示使用 vue-router 路由到页面不起作用

问题描述

我正在尝试学习 vue-router,但我遇到了 vue-cli3 + vue-router demo 的问题。

此演示使用vue create默认创建。我试图最小化演示,但它仍然不起作用。

这是main.js

import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'

Vue.config.productionTip = false
Vue.use(VueRouter)

const Foo = { template: '<div>foo</div>' }

const routes = [
  { path: '/foo', component: Foo }
]

new Vue({
  router: new VueRouter({
    mode: 'history',
    routes: routes
  }),
  render: h => h(App),
}).$mount('#app')

这是App.vue

<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <!--HelloWorld msg="Welcome to Your Vue.js App"/-->
    <router-link to="/foo">Go to Foo</router-link>
    <router-view></router-view>
  </div>
</template>

<script>
// import HelloWorld from './components/HelloWorld.vue'

export default {
  // name: 'app'
  // components: {
  //   HelloWorld
  // }
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

vue 和 vue-router 版本

"vue": "^2.6.10",
"vue-router": "^3.1.3"

我不知道为什么它不起作用。你能帮助我吗?

标签: javascriptvue.jsvue-router

解决方案


你应该使用

import Vue from 'vue/dist/vue.js'

代替

import Vue from 'vue'

这里有一个关于这个和 vue 模板的主题。


推荐阅读