Bugfix: unplugin-vue-component 找不到 Vant 组件的问题


title: “Bugfix: unplugin-vue-component 找不到 Vant 组件的问题”
date: 2023-05-03 18:14:19
categories: unplugin-vue-component
tags: bugfix


报错信息

[plugin:vite:import-analysis] Failed to resolve import "vant/es" from x Does the file exist?

/* unplugin-vue-components disabled */import { Button as __unplugin_components_0 } from 'vant/es'; import 'vant/es/button/style/index'

现象

如以上报错信息,vite 找不到 Vant 组件,记录本文时,vant vite unplugin-vue-components 等版本如下

{
  "dependencies": {
    "vant": "^4.2.1"
  },
  "devDependencies": {
    "vite": "^3.2.5",
    "unplugin-vue-components": "^0.24.1"
  }
}

Vant 官方文档编写的按需引入方式如下:

import vue from "@vitejs/plugin-vue";
import Components from "unplugin-vue-components/vite";
import { VantResolver } from "unplugin-vue-components/resolvers";

export default {
  plugins: [
    vue(),
    Components({
      resolvers: [VantResolver()],
    }),
  ],
};

个人配置如下:

export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),
    svgLoader({ svgoConfig: {} }),
    Components({
      resolvers: [VantResolver()],
    }),
  ],
  resolve: {
    alias: [
      {
        find: "@",
        replacement: resolve(__dirname, "../src"),
      },
    ],
    extensions: [".ts", ".js"],
  },
  define: {
    "process.env": {},
  },
});

解决方案

找了挺久的,最后发现是拓展名的问题,不限制拓展名或者加入 .mjs 拓展名即可解决。

export default defineConfig({
-   extensions: [".ts", ".js"],
+   extensions: [".ts", ".js", ".mjs"],
})
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue.js项目中,`npm i -D unplugin-vue-components unplugin-auto-import` 是用来安装两个插件命令的命令行操作。`unplugin-vue-components` 和 `unplugin-auto-import` 是Unplugin家族的一部分,Unplugin是一个旨在简化Vue.js配置的工具。 - `npm i -D` 是一个全局安装命令,`-D` 表示以开发依赖(devDependencies)的形式安装。这样做的好处是可以确保这些依赖只在开发环境中使用,不会打包到生产环境。 - `unplugin-vue-components` 是用于自动化管理Vue组件导入的插件,它可以帮助你从大型组件库中按需引入组件,减少不必要的打包体积。 - `unplugin-auto-import` 则是自动导入所需的外部依赖,比如CSS文件和TypeScript声明文件。 以下是安装过程的演示: ```sh # 在终端中,进入你的Vue.js项目目录 cd my-vue-project # 使用npm或yarn安装 npm install -D unplugin-vue-components unplugin-auto-import # 或者 yarn add -D unplugin-vue-components unplugin-auto-import # 如果是Unplugin CLI,还需要先全局安装 npm install -g @vue/cli-plugin-unplugin # 或者 yarn global add @vue/cli-plugin-unplugin # 接下来,在项目的根目录下创建一个配置文件,如.config/unplugin.js (如果不存在) # 内容可能类似于: // unplugin相关配置 module.exports = { plugins: [ { plugin: '@unplugin/vuex', options: {} }, { plugin: '@unplugin/router', options: {} }, { plugin: 'unplugin-vue-components', options: { componentsDir: 'src/components' } }, { plugin: 'unplugin-auto-import', options: { css: true, dts: true } } ] } # 然后运行 vue.config.js 或者 @vue/cli-service.config.js 的更新命令,让配置生效 vue.config.update() # 或者 npm run build --update ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值