首页 > 解决方案 > 错误:无法使用 vite 找到模块 '@vue/cli-service/generator/template/src/App.vue'

问题描述

我用 vite 创建了一个 vue 3 项目,我想将 vue-router 添加到项目中,所以从我写的终端开始,vue add router但在下载完所有内容后,我收到以下错误:

Error: Cannot find module '@vue/cli-service/generator/template/src/App.vue' from '/home/frostri/projects/onedrive_local/client/node_modules/@vue/cli-plugin-router/generator/template/src'
    at Function.resolveSync [as sync] (/usr/lib/node_modules/@vue/cli/node_modules/resolve/lib/sync.js:102:15)
    at renderFile (/usr/lib/node_modules/@vue/cli/lib/GeneratorAPI.js:515:17)
    at /usr/lib/node_modules/@vue/cli/lib/GeneratorAPI.js:300:27
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Generator.resolveFiles (/usr/lib/node_modules/@vue/cli/lib/Generator.js:268:7)
    at async Generator.generate (/usr/lib/node_modules/@vue/cli/lib/Generator.js:175:5)
    at async runGenerator (/usr/lib/node_modules/@vue/cli/lib/invoke.js:111:3)
    at async invoke (/usr/lib/node_modules/@vue/cli/lib/invoke.js:92:3)

有什么我可以解决的吗?

标签: vue.jsvue-routervuejs3vite

解决方案


vue命令来自 Vue CLI。尽管项目结构相似,但Vue CLI 命令(即vue add router)不适用于 Vite 项目。目前没有官方的 Vite CLI 命令可以自动将您的项目文件扩充到 setup vue-router,因此您必须手动完成:

  1. 从项目根目录运行此命令进行安装vue-router(Vue 3 的版本 4x):

    npm i -S vue-router@4
    # or:
    yarn add vue-router@4
    
  2. src/router.js使用以下内容创建:

    import { createRouter, createWebHistory } from 'vue-router'
    import HelloWorld from './components/HelloWorld.vue'
    
    export default createRouter({
      history: createWebHistory(),
      routes: [
        {
          path: '/',
          component: HelloWorld,
        }
      ]
    })
    
  3. 编辑src/main.js以安装路由器实例:

    import { createApp } from 'vue'
    import App from './App.vue'
    import './index.css'
    import router from './router' 
    
    createApp(App)
      .use(router) 
      .mount('#app')
    
  4. 编辑src/App.vue以包含:

    <template>
      <router-view />
    </template>
    

推荐阅读