laravel - 使用 Vapor 时如何引用 .vue 文件中的资源?

标签 laravel vue.js vapor

因为我希望在使用正确的 URL 进行部署时将 Assets 分发到 Cloudfront 上。

我没有使用blade,所以我无法使用 Assets 助手。也没有这方面的文档。

最佳答案

您需要确保将图像存储在正确的位置,以便可以在构建时正确处理它们。

我犯了一个错误,将图像存储在/public 目录中。相反,请将图像存储在/resources 下,并在 .vue 文件中确保使用相对路径引用它们。

例如

app.vue

/resources/js/views/app.vue

测试.png

/resources/images/test.png

然后在您的 app.vue 中引用您的图像:

<img src="../../images/test.png" />

一旦一切都编译完毕,您的图像将移动到/public 目录。

然后,您需要通过 webpack.mix.js 文件注入(inject) CDN。确保将资源根设置为 CDN URL,该 URL 在构建时由 Vapor 通过 ASSET_URL 传入

/* Get the Vapor ASSET_URL */
const ASSET_URL = `${process.env.ASSET_URL || ''}/`

/* Set the resource root */
mix.setResourceRoot(ASSET_URL);

关于laravel - 使用 Vapor 时如何引用 .vue 文件中的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59429133/

相关文章:

select - Laravel 和 Eloquent : Specifying columns in when retrieving related items

Laravel 4 迁移 - 无法添加外键约束

swift - 升级swift后 Vapor 工具箱坏了

php - MS Azure 上的 Laravel + Wincache : Not storing values

PHP Laravel 从另一个驱动器读取文件

html - 如何让 Vue b-table 滚动带有固定标题的正文

javascript - 对于嵌套超过两个的 HTML 元素,Vue.compile 失败

javascript - Vue.js 删除数组中的项目

swift - 如何验证服务器端 Swift HTTPS 端点中的 SNS 消息?

swift - 测试在 vapor 应用程序中不起作用