解决vue动态加载组件import引入组件找不到组件(Error: Cannot find module)

 更新时间:2026年04月29日 08:53:45   作者:TTong___  
文章描述了一个项目中动态加载组件的方法,使用import()语法时,由于其在编译时确定路径的特性,不能使用变量,需要使用webpack的require.ensure()方法,可以接受变量参数并返回Promise对象,此问题的解决方案是使用require.ensure()方法来引入动态组件

使用场景

在一个项目中封装了好多组件,根据接口返回不同类型值在页面中动态加载对应的组件。

问题描述

使用了动态加载组件的方法,组件用 import() 引入时,直接写成静态路径组件能找到,但是路径里面使用了变量组件就找不到了,报错 Error:Cannot find module

问题原因

import() 语法是 ES6 中新引入的动态加载模块的语法,它可以在运行时加载模块,返回一个 Promise 对象,可以用来加载不同的模块。

所以import()语法本身是一个函数,其中可以传入一个字符串,用来表示要加载的模块的路径,但是不能传入变量,因为变量的值在运行时可能会改变,而import()语法是在编译时就已经确定的,所以不能传入变量。

解决方案

使用 webpack 的 require.ensure() 方法引入组件,它可以接受变量作为参数,并且可以返回 Promise 对象

return () => require.ensure([], (require) => require(`./components/${type}.vue`))

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使vue实现jQuery调用的两种方法

    使vue实现jQuery调用的两种方法

    这篇文章主要介绍了使vue实现jQuery调用的两种方法 ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • vue实现表单验证功能

    vue实现表单验证功能

    这篇文章主要为大家详细介绍了vue实现表单验证功能,基于NUXT的validate方法实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • mint-ui 时间插件使用及获取选择值的方法

    mint-ui 时间插件使用及获取选择值的方法

    下面小编就为大家分享一篇mint-ui 时间插件使用及获取选择值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • Vue 3.0自定义指令的使用入门

    Vue 3.0自定义指令的使用入门

    在 Vue 的项目中,我们经常会遇到 v-if、v-show、v-for 或 v-model 这些内置指令,它们为我们提供了不同的功能。除了使用这些内置指令之外,Vue 也允许注册自定义指令。接下来,将使用Vue 3官方文档自定义指令章节中使用的示例,来一步步揭开自定义指令背后的秘密。
    2021-05-05
  • Vue中添加滚动事件设置的方法详解

    Vue中添加滚动事件设置的方法详解

    这篇文章主要给大家介绍了关于Vue中添加滚动事件设置的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Vue实现插槽下渲染dom字符串的使用

    Vue实现插槽下渲染dom字符串的使用

    本文主要介绍了Vue实现插槽下渲染dom字符串的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Vue3 Reactive响应式原理逻辑详解

    Vue3 Reactive响应式原理逻辑详解

    这篇文章主要介绍了Vue3 Reactive响应式原理逻辑详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • vue2.0+SVG实现音乐播放圆形进度条组件

    vue2.0+SVG实现音乐播放圆形进度条组件

    这篇文章主要为大家详细介绍了Vue2.0+SVG实现音乐播放圆形进度条组件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • vue实现的下拉框功能示例

    vue实现的下拉框功能示例

    这篇文章主要介绍了vue实现的下拉框功能,涉及vue.js数据读取、遍历、事件响应等相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • Vue 中的 computed 和 watch 的区别详解

    Vue 中的 computed 和 watch 的区别详解

    这篇文章主要介绍了Vue中的computed和watch的区别详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09

最新评论