使用vite搭建vue3项目(二) 引入vue-router

引入vue-router

npm install vue-router@next --save

 

在src目录下创建router文件夹,在文件夹下创建index.ts

复制代码
import {createRouter, RouteRecordRaw, Router, createWebHistory} from 'vue-router'

const routes: Array<RouteRecordRaw> = [
    {
        path: '/',
        name: 'Home',
        component: () => import('@/views/Home.vue'),
        meta: {
            title: '首页'
        }
    }
]

const router: Router = createRouter({
    history: createWebHistory(),
    routes
})

export default router
复制代码

创建 views/Home.vue

复制代码
<template>
<HelloWorld :msg="msg"></HelloWorld>
</template>

<script lang="ts">
import HelloWorld from "@/components/HelloWorld.vue"
import { defineComponent } from "vue"
export default defineComponent({
name: "Home",
components: { HelloWorld },
setup() {
return {
msg: "hello World",
}
}
})
</script>
复制代码

在main.ts中引入router

import {createApp} from 'vue'
import router from './router/index'
import App from './App.vue'

createApp(App).use(router).mount('#app')

将App.vue中内容替换 

复制代码
<template>
<img alt="Vue logo" src="./assets/logo.png" />
<router-view />
</template>

<script>
export default {
name: 'App',
setup() {

}
}
</script>
复制代码

运行报错如下,router找不到路径

下午11:42:12 [vite] Internal server error: Failed to resolve import "@/views/Home.vue" from "src\router\index.ts". Does the file exist?
  Plugin: vite:import-analysis
  File: D:/workspace/test/element-plus-ts/src/router/index.ts
  4  |      path: "/home",
  5  |      name: "Home",
  6  |      component: () => import("@/views/Home.vue"),

那么需要修改vite.config.ts配置

复制代码
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'   // 需安装此模块

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'src')
    }
  }
})
复制代码

安装 path模块

npm install --save-dev @types/node

不行,则换cnpm安装

cnpm install --save-dev @types/node

 

配置完成,运行

 npm run dev

 

 

posted @   猪脚踏浪  阅读(9674)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示