钉钉小程序的前端代码不能直接运行在自建服务器上供用户访问使用,原因如下:
1. 钉钉小程序的运行机制
钉钉小程序是基于钉钉客户端(App)运行的,其前端代码必须通过 钉钉开放平台审核并上传到钉钉的服务器,由钉钉客户端从官方服务器下载并渲染执行。
- 小程序的代码包需要打包后上传至 钉钉开发者后台。
- 用户通过钉钉 App 打开小程序时,钉钉会从其服务器拉取代码并运行在内置的 WebView 或小程序运行环境中。
- 这类似于微信小程序、支付宝小程序的机制。
2. 自建服务器的作用
虽然前端页面不能直接部署在自建服务器上被钉钉加载,但你可以将:
- 后端接口服务部署在自己的服务器上;
- 前端代码中通过
http请求调用你的自建服务器提供的 API 接口。
✅ 正确方式:
钉钉小程序(前端代码运行在钉钉客户端)
↓ (HTTPS 请求)
自建服务器(提供数据接口、业务逻辑)
3. 可以托管的内容
你可以在自建服务器上存放:
- 后端 API 接口(如用户登录、数据查询等);
- 静态资源(图片、文件等),只要这些资源支持 HTTPS 并在钉钉白名单域名中配置过;
- Web 页面(仅用于非小程序场景,比如 H5 页面跳转);
⚠️ 注意:静态资源如果要在小程序中使用(如 <image src="...">),其域名必须在 钉钉小程序管理后台配置的“request 合法域名”和“downloadFile”合法域名中。
总结
| 内容 | 是否可以放在自建服务器 |
|---|---|
| 小程序前端代码(JS/JSON/WXML) | ❌ 不行,必须上传到钉钉平台 |
| 小程序调用的后端接口 | ✅ 可以,推荐部署在自建服务器 |
| 图片、文件等静态资源 | ✅ 可以,但域名需配置白名单 |
| 整个小程序页面通过 URL 直接访问 | ❌ 不行(除非是 H5 页面) |
建议做法
- 使用钉钉开发者工具开发小程序前端;
- 将前端代码上传至钉钉开放平台;
- 后端服务部署在你的自有服务器上;
- 在钉钉小程序后台配置好服务器域名白名单;
- 小程序通过
dd.httpRequest()调用你的 API。
如有进一步需求(例如 H5 跳转、混合模式),也可以结合 H5 页面实现部分功能。
如需官方文档参考:
👉 钉钉小程序开发文档
秒懂云