Mai*_*sen 7 vue.js vue-router vuejs3 vue-router4 vite
我刚开始在 vue 中使用 vite。当我尝试使用 vue-router 时,出现错误:
SyntaxError: The requested module '/node_modules/.vite/vue-router/dist/vue-router.esm.js?v=4830dca4' does not provide an export named 'createRouter
Run Code Online (Sandbox Code Playgroud)
我的路由器/index.js 看起来像这样:
import {
createWebHistory,
createRouter
} from "vue-router";
import Services from "../views/Services.vue";
import Costumers from "../views/Costumers.vue";
const history = createWebHistory();
const routes = [
{
path: "/",
component: Services
},
{
path: "/costumers",
component: Costumers
},
];
const router = createRouter({
history,
routes
});
export default router;
Run Code Online (Sandbox Code Playgroud)
我的 main.js 看起来像这样:
import { createApp } from 'vue'
import App from './App.vue'
import './index.css'
import router from './router'
createApp(App).use(router).mount('#app')
Run Code Online (Sandbox Code Playgroud)
我的 package.json 看起来像这样:
{
"name": "frontend",
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "vite build"
},
"dependencies": {
"vue": "^3.0.5",
"vue-router": "^3.4.9"
},
"devDependencies": {
"@vitejs/plugin-vue": "^1.0.4",
"@vue/compiler-sfc": "^3.0.5",
"autoprefixer": "^10.2.3",
"postcss": "^8.2.4",
"tailwindcss": "^2.0.2",
"vite": "^2.0.0-beta.12"
}
}
Run Code Online (Sandbox Code Playgroud)
有人知道如何导出路由吗?
小智 24
如果你检查文件内部'/node_modules/.vite/vue-router/dist/vue-router.esm.js?v=4830dca4'
没有export default语法。仅命名export {}
因此,请使用命名导入来代替导入默认值。
// don't
import VueRouter from 'vue-router'
// do
import { createRouter, createWebHashHistory } from 'vue-router'
Run Code Online (Sandbox Code Playgroud)
您应该卸载当前的 vue-router 模块并通过运行以下命令重新安装与 Vue 3 兼容的最新(版本 4)模块:
npm uninstall vue-router
Run Code Online (Sandbox Code Playgroud)
然后
npm install vue-router@next -S
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5460 次 |
| 最近记录: |