node获取图片路径_使用软连接来解决 Drupal jsonapi 中 Node 节点图片相对路径的问题...

5ac8535f1933a1d66a19e2930d52d04a.png

场景:

http://angular.zhaobg.com 是Angular前端框架搭建的前台页面,Drupal 站点来提供 JSON 数据:http://api.zhaobg.com,而 Drupal 在编辑器上传的图片资源是相对路径。
在本地开发环境中,图片资源是无法读取的

3ea2594a4bc755ce8962d1c8e17e5da2.png
本地开发环境

问题

不同的域名,绑定不同的站点目录,读取的 JSON 中的数据又是相对路径,如果图片资源没有部署到对应的站点目录下,是无法访问。

当然你可以使用 copy 资源的方法或者自动化脚本部署的方式来达到目的,不管是代码还是图片,也应该是在一处维护,出处更新同步。

软连接解决

基于这两个站点都在同一个服务器下,我使用了软连接来解决这个问题:当我访问http://angular.zhaobg.com/sites的时候,实际访问的是Drupal站点的sites目录

Linux 命令行如下:
首先进入到 Angular 构建好的发布目录(域名绑定解析到的目录)

cd /mnt/biaoge/www/angular.zhaobg.com/dist/cms/
ln -s /mnt/biaoge/www/api.zhaobg.com/sites/ sites

如果哪天你不需要了,这样删除软连接:

rm sites // 切记不能 rm -rf sites/

52eb8c2f7a214272de38af3c12f93fa0.png
线上正式环境

其他方式

还有比如

  • Drupal 本身导出的 JSON 图片资源就是绝对路径
  • 通过 Nginx 转发代理
  • 获取到 JSON 数据后,前端 JS 正则批量替换路径的方式
  • 当然可能还有更好的其他方式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值