You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10中austintoddj/canvas生成的public/vendor目录部署位置咨询

关于Laravel 10中Canvas包public/vendor目录的部署位置问题

结论

你当前把vendor/canvas目录放在public_html下的做法是完全正确的,不需要移动到myproject目录中。

原因说明

  • Laravel生态中,第三方包的前端静态资源(CSS、JS、混合清单文件等)必须部署在Web服务器可直接访问的公开目录下,也就是你的public_html(对应项目原本的public目录)。这是因为浏览器只能请求Web根目录内的静态资源,放在myproject(Web根目录外)的话,服务器会拒绝访问,导致Canvas的样式和交互功能失效。
  • austintoddj/canvas包的默认发布逻辑就是将编译后的前端资源输出到项目的public/vendor/canvas,这符合Laravel包的标准资源发布规范。

你的部署结构适配

你的部署架构(myproject存放核心代码,public_html作为Web根目录存放原public内容)是Laravel生产环境的推荐安全架构,完全适配Canvas包的资源要求:

  • 保持public_html/vendor/canvas的位置不变即可,无需在myproject内创建额外的public文件夹并迁移资源。
  • 可以通过访问你的域名/vendor/canvas/css/app.css(或对应JS文件)验证资源是否可正常访问,能打开则说明部署正确。

内容的提问来源于stack exchange,提问作者tom1000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 10:51:06