1***@qq.com
1***@qq.com
  • 发布:2025-02-09 21:30
  • 更新:2026-03-27 23:13
  • 阅读:3089

项目使用vite.config.js添加插件,无法导入@dcloudio/vite-plugin-uni

分类:uni-app

我想在项目中使用vite添加插件,uni官方文档说要先引入uni 插件,但是我本地没有安装过@dcloudio/vite-plugin-uni这个包,编辑器没任何提示。然后我去npmjs 官网搜索这个包名,但这个包都好几年没更新了,会报peer对等依赖错误,这个不是官方包吗,怎么没有维护呢

然后我强制安装了这个包,重新构建项目报错:

21:23:15.651 failed to load config from C:\Users\xue647464\Documents\HBuilderProjects\demo1\vite.config.js  
21:23:15.660 error when starting dev server:  
21:23:15.661 Error: Cannot find module '../../../uni-cli-shared/dist'  

这是项目中vite.config.js内容:

import {  
    defineConfig  
} from 'vite'  
import uni from '@dcloudio/vite-plugin-uni';  
import vitePluginMyTest from './common/vite-plugin-myTest'  
defineConfig({  

    plugins: [  
        uni(),  
        vitePluginMyTest()  
    ]  
})  
2025-02-09 21:30 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com

用npm下载依赖。然后npm fix,pnpm下载的不行

  • 2***@qq.com

    npm audit fix --force

    2025-04-22 16:13

  • 2***@qq.com

    hx内置了这个依赖,直接引用即可,不用下载

    2025-04-23 13:18

DCloud_UNI_JBB

DCloud_UNI_JBB

我通过cli拉的vue3模板项目,插件版本是正常的

  • 2***@qq.com

    我是hx创建的项目,想使用vite插件,需要下载这个,去看了npm网站latest指向版本3.0.0-alpha-3000020210521001,而不是最新的4000版本,导致npm i @dcloudio/vite-plugin-uni下载的版本错误,建议修改

    2025-04-22 17:07

  • 2***@qq.com

    3000版本与最新的hx不兼容

    2025-04-22 17:08

  • DCloud_UNI_JBB

    回复 2***@qq.com: 发下可复现项目demo

    2025-04-22 17:17

  • 2***@qq.com

    回复 DCloud_UNI_JBB: 最新的hello-uniapp项目,运行npm i @dcloudio/vite-plugin-uni,生成的依赖结果,默认指向3000的 "dependencies": {

    "@dcloudio/vite-plugin-uni": "^3.0.0-alpha-3000020210521001",

    "vuex": "^4.0.2"

    },

    2025-04-23 09:09

  • 2***@qq.com

    回复 DCloud_UNI_JBB: 任意项目运行 npm i @dcloudio/vite-plugin-uni,看看下载的版本就知道了

    2025-04-23 09:14

  • 2***@qq.com

    回复 DCloud_UNI_JBB: demo已发,在你楼下的回复里,楼中楼发不了附件

    2025-04-23 09:30

2***@qq.com

2***@qq.com

复现demo,注意@dcloudio/vite-plugin-uni的版本,这是npm i @dcloudio/vite-plugin-uni下载下来的默认版本

DCloud_UNI_JBB

DCloud_UNI_JBB

用hbuilderx打开,不要安装 @dcloudio/vite-plugin-uni 依赖,直接运行

  • aoaobaba

    我也遇到这个问题!!! 无法解决。 我升级HBX5.04 之前的版本,完全可以不安装什么都可以运行vite 启动项目,这个包直接在vite.config.js 里面导入即可。但是,升级HBX 5.04, 5.05 全部不行啦,一连串的报错,始终提示找不到这个包,安装又报其他错误! 我不知道 大家都没有遇到这个问题嘛

    2026-03-27 22:36

  • aoaobaba

    HBX更新到 5.04、5.05版本,有问题。你可以更新后新建一个uniapp项目,添加vite.config.js 导入@dcloudio/vite-plugin-uni 并配置插件uni() 试试。另外,我暂时解决了这个问题,我安装了3.0.0-5000520260324002 这个版本后,提示uni is not function ,,, 然后用了ESM的默认处理 uni.default() 配置到插件里,才正常启动。这里就说明了新版hbx 在处理默认项目type 时也有问题,因为我需要使用其他esm的库 ,项目提示需要改type 为module 。之前的HBX 版本不会这样子的。 折腾了2小时。 想不明白,更新为啥这样问题。

    2026-03-27 23:00

RongCloud

RongCloud

遇到了同样的问题请问解决了吗?

  • DCloud_UNI_JBB

    不手动安装 @dcloudio/vite-plugin-uni 试试能不能运行,参考我上面的回复

    2025-09-09 16:34

  • RongCloud

    回复 DCloud_UNI_JBB: 本地可以了,但是我 HbuilderX 创建的工程可以使用命令打包吗?之前 cli 可以通过 uni build XXX 打包不同平台,HbuilderX 创建的工程可以通过命令大吗?

    2025-09-09 17:32

  • DCloud_UNI_JBB

    回复 RongCloud: 不行吧,依赖都在hx内部

    2025-09-09 17:45

  • 4***@qq.com

    回复 RongCloud: 不能,我现在就是踩了这个坑

    2025-11-07 14:37

4***@qq.com

4***@qq.com

要死了,如果公司要优化这个,真的会颠,依赖这些只能整包用,环境还不能动,真的是给自己挖坑了/(ㄒoㄒ)/

aoaobaba

aoaobaba - 稳中有进 别急~ 慢慢来

我真无语!更新5.04、5.05版本后,这个库始终找不到,因为之前版本的HBX 一直都正常的!

假设你更新到了5.04 或5.05

当出现找不到这个包时,千万不能单纯的运行命令:

npm i @dcloudio/vite-plugin-uni

这样安装的版本不兼容的,如果你是vue3 项目应该选择 3.0.0-5000520260324002 版本,去看npm官方库 的历史版本有最新的!

另外,新建的项目运行是commonjs 。当你安装了其他ESM库,例如常用的,unplugin-vue-components/vite、unplugin-vue-components/resolvers 等;需要先配置 项目type: "module" 因为默认跑项目也无法自动处理esm模块啦。

然后,这个@dcloudio/vite-plugin-uni 库还是commonjs 导出的估计,在vite配置插件时候还不能直接uni() 方法调,需要
uni.default() 这样子,才能正常启动!

以下是我的配置相关

import uni from '@dcloudio/vite-plugin-uni'  
import {  
    defineConfig  
} from 'vite'  

import Components from 'unplugin-vue-components/vite'  
import {  
    ElementPlusResolver  
} from 'unplugin-vue-components/resolvers'  

export default defineConfig({  
    plugins: [  
        Components({  
            resolvers: [ElementPlusResolver()],  
        }),  
        uni.default()  
    ],  
})

package.json:
{
"type": "module",
"dependencies": {
"@dcloudio/vite-plugin-uni": "^3.0.0-5000520260324002",
"@vitejs/plugin-vue": "^6.0.5",
"element-plus": "^2.13.6",
"unplugin-vue-components": "^32.0.0"
},
"devDependencies": {
"@dcloudio/types": "^3.4.28",
"unplugin-auto-import": "^19.0.0",
"unplugin-vue-components": "^28.0.0"
}
}

以上操作,我安装了element-plus组件,在main.js 里面导入后,相关的组件全局自动按需导入咯。可以正常运行。

我了个去!!!!!!!!!!!!!!! 更新搞死我啦。

要回复问题请先登录注册