【问题标题】:Error: Cannot find module '@vue/cli-service/generator/template/src/App.vue' with vite错误:无法使用 vite 找到模块 '@vue/cli-service/generator/template/src/App.vue'
【发布时间】:2021-08-11 17:17:31
【问题描述】:

我用 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.js vue-router vuejs3 vite


    【解决方案1】:

    我不知道这是否有帮助,但至少对我有用。

    首先我安装了@vue/cli-service

    npm install --save-dev @vue/cli-service

    然后是 Vue 路由器。

    vue add router

    让我知道这是否适合您!祝你有美好的一天!

    【讨论】:

      【解决方案2】:

      vue 命令来自 Vue CLI。尽管项目结构相似,但 Vue CLI 命令(即vue add router)不适用于 Vite 项目。目前没有官方的 Vite CLI 命令可以自动扩充您的项目文件以设置 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>
        

      【讨论】:

      • 这为我节省了很多时间。非常感谢,这应该在他们的官方文档中!
      猜你喜欢
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 2018-01-16
      • 2018-10-03
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 2022-12-15
      相关资源
      最近更新 更多