uniapp开发小程序,引入组件时加.vue和不加.vue有啥区别
在uniapp开发小程序时,引入组件的方式有两种主要形式:
一种是直接引入组件名称(不带.vue扩展名),另一种是引入组件的文件路径,包括.vue扩展名。
这两种方式各有其适用场景和特点,下面详细解释它们的区别:
1. 直接引入组件名称(不带.vue扩展名)
当你直接使用组件名称(不包含.vue)来引入组件时,通常是在全局注册了该组件。这种方式适用于你已经通过全局注册的方式将组件添加到了全局的组件库中。例如,如果你使用了Vue.component或者uni.registerComponent等方式在项目的某个地方全局注册了组件,那么在需要使用该组件的地方,就可以直接通过组件的名称来引用,而不需要指定文件路径。
import credit from '@/toolPackage/components/creator/credit';
注意:该情况可能导致在分包中注册了全局组件,导致小程序超包
2. 引入组件的文件路径(包括.vue扩展名)
当你引入组件时包含.vue扩展名,通常是在局部注册该组件。这种方式适用于在单个页面或组件内部单独注册和使用某个特定的组件。通过这种方式,你可以精确控制组件的作用域,只在当前页面或组件内部使用该组件,而不会影响到其他页面或组件。
import credit from '@/toolPackage/components/creator/credit.vue';
总结
-
全局注册(不带
.vue)适用于需要在多个地方重复使用的通用组件。 -
局部注册(带
.vue)适用于只在当前页面或组件内部使用的专用组件,可以减少全局命名空间的污染。
选择哪种方式取决于你的项目需求和组件的使用场景。在大多数情况下,推荐使用局部注册的方式来管理组件,因为这样可以更好地组织代码和避免命名冲突。

浙公网安备 33010602011771号