Zendesk框架客户端应用引入自定义JS文件报404问题求助
问题原因
Zendesk客户端应用(ZAF)对静态资源有明确的加载限制:只有存放在assets目录下的文件,才会被本地开发服务器、线上部署环境识别为可公开访问的静态资源,assets目录外自建的文件夹不会被纳入静态资源映射范围,无论路径怎么写都会返回404。
同时你当前写的引入路径/base-app/services/userServices.js也不符合ZAF的路径规则,就算文件位置正确,这个绝对路径也无法匹配到资源。另外你当前目录里的业务文件夹名拼写为sevices(漏了字母r),也可能引发额外的路径错误。
解决步骤
- 调整文件存放位置:将存放业务JS的文件夹整体移动到
assets目录下,同时修正文件夹名拼写为services,调整后的合法目录结构如下:
app-folder assets iframe.html services userServices.js . . tmp translations en.json manifest.json
- 修正script标签的引入路径:ZAF环境下引入assets内的资源直接使用相对路径即可,不需要添加
/base-app/前缀,正确写法如下:
<script src="./services/userServices.js"></script>
- 重启本地ZAT开发服务,清除浏览器缓存后重新访问应用,即可正常加载自定义JS文件。
注意事项
- 所有需要在前端页面直接引用的静态资源(JS、CSS、图片、字体文件等)都必须放在
assets目录下,ZAF不会对外暴露assets目录外的业务文件。 - 引入本地静态资源不要使用绝对路径,ZAF在不同部署环境下的应用根路径不固定,相对路径是兼容性最高的写法。
内容的提问来源于stack exchange,提问作者Ram Chander
相关产品推荐
相关产品推荐

