学习vuejs3我使用命令创建了新的@ vue / cli应用
vue create myapp
选择了vuejs 3 我将Router添加到我的项目中,并在src / main.js中添加了Router参考:
import { createApp } from 'vue'
import { createRouter/*, createWebHistory */ } from 'vue-router'
import WelcomeScreen from './pages/WelcomeScreen.vue'
import UsersList from './pages/UsersList.vue'
import App from './App.vue'
const router = createRouter({
// history: createWebHistory(),
mode: 'history',
routes: [
{ path: '/', component: WelcomeScreen },
{ path: '/users', component: UsersList }
]
})
const app = createApp(App)
app.use(router)
app.mount('#app')
但是在控制台中,我看到警告:
"export 'createRouter' was not found in 'vue-router'
和错误:
main.js?56d7:10 Uncaught TypeError: Object(...) is not a function
在我的package.json中,我有:
"dependencies": {
"core-js": "^3.6.5",
"mitt": "^2.1.0",
"vue": "^3.0.0",
"vue-router": "^3.4.8"
},
和
$ vue --version
@vue/cli 4.5.8
哪种方法有效? 还有一些针对@ vue / cli的vuejs3教程吗? 我找到了一些vuejs 3教程,但没有@ vue / cli的教程,这引起了一些困惑...
用vue2在@ vue / cli中说,我使用文件src / router / index.js,但我不记得是否 我已经手动创建了...
谢谢!
答案 0 :(得分:6)
您需要像这样为 vue3 安装 vue-router:
npm install vue-router@next --save
Router.js
import { createApp } from 'vue'
import App from './App.vue'
import { createRouter, createWebHistory } from "vue-router"
const routeInfos = [
{
path : "/",
component : HomePage
},
{
path : "/favorites",
component : FavoritesPage
}
]
const router = createRouter({
history : createWebHistory(),
routes : routeInfos
})
export default router;
在 Main.js 中导入
import router from "./router"
createApp(App).use(router).mount('#app')