Web IMLib 导入
本页说明 Web 端 IMLib 的依赖、制品与集成要求。包内同时提供 rongim.mjs(IMLib)与 imkit.mjs(IMKit);两者都不依赖框架。
安装 / 依赖
引入方式
# 方式 A(免构建,推荐):从文档服务器整目录下载 SDK(rongim.mjs 依赖 src/*.mjs,
# 只下载单个 rongim.mjs 会报 ERR_MODULE_NOT_FOUND: ./src/shared.mjs)
curl -sS -O https://im.example.com/sdk/web/scripts/fetch-dist.mjs
node fetch-dist.mjs --base https://im.example.com/sdk/web --out ./vendor/im-web
# 下载 + 校验完成后直接导入(Node / 浏览器 / 打包器均适用)
# node -e "import('./vendor/im-web/rongim.mjs').then(m => console.log(Object.keys(m).length, 'exports'))"
# 方式 B(直接引用托管路径,浏览器内一行完成)
# <script type="module">
# import { createClient, Events, ConversationType } from '/sdk/web/rongim.mjs';
# </script>
# 方式 C(npm 包,当前未发布到 npm registry;发布后可用)
npm install @ni-paas/im-web发行包不可用时如何集成
单文件下载不可用:rongim.mjs 静态 import 了 ./src/shared.mjs 等 10 个模块,只下载 rongim.mjs 会报 ERR_MODULE_NOT_FOUND。
请用 sdk/web/scripts/fetch-dist.mjs 整目录下载(含 src/)并按 dist-manifest.json 校验 SHA-256;浏览器内也可直接 import 托管路径 /sdk/web/rongim.mjs(src/ 同源可取)。
npm 发行包当前未上架 registry,不要用 npm install @ni-paas/im-web 作为首次接入路径。
环境要求
| 项 | 要求 |
|---|---|
| 运行时 | 现代浏览器(Chrome/Edge/Safari/Firefox 最近两个大版本)或 Node.js 18+ |
| 模块格式 | 原生 ESM(<script type="module"> 或打包器) |
| 网络 | 浏览器原生 WebSocket + fetch,无第三方传输依赖 |
| 类型声明 | 随包提供 rongim.d.ts,TypeScript 项目开箱可用 |
| 安全 | Token 由业务服务下发;AppSecret 不得进入前端产物 |
包内容
| 制品 | 路径 / 名称 | 说明 |
|---|---|---|
| IMLib 包 / 模块 | @ni-paas/im-web | 核心通信库(连接、消息、会话、群组、好友、聊天室、上传) |
| IMLib 源码 / 制品 | rongim.mjs | 随发行包提供的源码 / 制品(内联调可源码集成) |
| IMKit 制品 | imkit.mjs | 可选 UI 组件层,只依赖 IMLib 公开接口 |
| 类型声明 | rongim.d.ts | TypeScript / JS 类型声明,编辑器可直接跳转 |
版本与兼容
- 契约版本:IDL v1.0.0(frozen,冻结修订 35)。
- v1.x 采用 additive-only:仅新增可选字段、枚举值、接口与错误码,不破坏既有语义。
- 升级时先对照「更新日志」确认新增面,再回归连接、消息、会话与群组主链路。
- 当前平台绑定状态:
ga。