1. 核心概念:uni_modules 与 npm
UniApp 项目同时支持两种依赖管理方式:
A. uni_modules 模块 (推荐且主流)
这是 DCloud(UniApp 官方)推出的模块化规范,是管理 UniApp 插件和依赖的首选方式。
-
特点:
-
即放即用:模块直接存放在项目根目录的
uni_modules文件夹下。你不需要手动执行npm install。 -
自动注册:符合
easycom规范的组件,无需在页面内import和components里注册,直接在模板中使用即可。 -
易于管理:可以通过 HBuilderX 的插件市场直接点击安装,它会自动下载到
uni_modules目录并完成配置。
-
-
如何安装:
-
访问 UniApp 插件市场。
-
找到需要的插件(如
uView UI),点击右上角的 “使用 HBuilderX 导入插件”。 -
HBuilderX 会自动识别并弹窗,你选择需要安装到的项目即可。
-
安装后,插件就在
uni_modules目录里,可以直接使用了。
-
绝大多数 UniApp 相关的插件、组件库、SDK 都优先提供这种安装方式。
B. npm 包 (传统方式)
UniApp 也支持使用 npm 安装和管理一些纯 JS 库或非 UniApp 特定的包。
-
特点:
-
需要使用终端命令
npm install [package-name]进行安装。 -
包会被安装到项目根目录的
node_modules文件夹中。 -
使用时,需要在
.vue文件里手动import引入。
-
-
何时使用:
-
当你需要安装一些通用的、与平台无关的 JavaScript 库时,例如:
-
lodash(工具函数库) -
day.js(时间日期处理库) -
axios(网络请求库,但 UniApp 自带uni.request,通常无需安装)
-
-
2. 为什么你感觉“不需要安装依赖”?
这是因为 HBuilderX 工具帮你做了“隐形”的工作:
-
自动化处理:当你通过 HBuilderX 从插件市场安装
uni_modules模块时,它已经替你完成了“安装”和“配置”这两个步骤。你感知到的只是“下载”,而没有手动运行安装命令。 -
内置依赖:UniApp 的核心框架本身(
vue、vuex等)已经被内置在 HBuilderX 或编译器中,你无需也无法手动安装它们。项目创建成功后,就已经自带了运行所需的核心环境。
总结与实践指南
建议:
-
优先使用
uni_modules:只要是插件市场上有的,都用 HBuilderX 的方式安装。这是最省心、最不容易出错的方式。 -
按需使用
npm:当你确实需要一些通用的 JS 库时,再打开终端(HBuilderX 内置了终端)使用npm install。 -
不要手动混用:不要自己把文件拖到
uni_modules里,也不要去手动修改node_modules里的内容。一切都通过工具(HBuilderX 或 npm 命令)来操作。 -
查看
package.json:即使是 UniApp 项目,根目录下通常也有一个package.json文件,它仍然会记录你通过npm安装的包。而通过 HBuilderX 安装的uni_modules模块不会记录在这里。