UniApp 依赖如何管理?

310 阅读2分钟

1. 核心概念:uni_modules 与 npm

UniApp 项目同时支持两种依赖管理方式:

A. uni_modules 模块 (推荐且主流)

这是 DCloud(UniApp 官方)推出的模块化规范,是管理 UniApp 插件和依赖的首选方式

  • 特点

    • 即放即用:模块直接存放在项目根目录的 uni_modules 文件夹下。你不需要手动执行 npm install

    • 自动注册:符合 easycom 规范的组件,无需在页面内 importcomponents 里注册,直接在模板中使用即可。

    • 易于管理:可以通过 HBuilderX 的插件市场直接点击安装,它会自动下载到 uni_modules 目录并完成配置。

  • 如何安装

    1. 访问 UniApp 插件市场

    2. 找到需要的插件(如 uView UI),点击右上角的 “使用 HBuilderX 导入插件”

    3. HBuilderX 会自动识别并弹窗,你选择需要安装到的项目即可。

    4. 安装后,插件就在 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 工具帮你做了“隐形”的工作

  1. 自动化处理:当你通过 HBuilderX 从插件市场安装 uni_modules 模块时,它已经替你完成了“安装”和“配置”这两个步骤。你感知到的只是“下载”,而没有手动运行安装命令。

  2. 内置依赖:UniApp 的核心框架本身(vuevuex 等)已经被内置在 HBuilderX 或编译器中,你无需也无法手动安装它们。项目创建成功后,就已经自带了运行所需的核心环境。

总结与实践指南

建议:

  1. 优先使用 uni_modules:只要是插件市场上有的,都用 HBuilderX 的方式安装。这是最省心、最不容易出错的方式。

  2. 按需使用 npm:当你确实需要一些通用的 JS 库时,再打开终端(HBuilderX 内置了终端)使用 npm install

  3. 不要手动混用:不要自己把文件拖到 uni_modules 里,也不要去手动修改 node_modules 里的内容。一切都通过工具(HBuilderX 或 npm 命令)来操作。

  4. 查看 package.json:即使是 UniApp 项目,根目录下通常也有一个 package.json 文件,它仍然会记录你通过 npm 安装的包。而通过 HBuilderX 安装的 uni_modules 模块不会记录在这里。