图像具有绝对路径 - 如何在 Laravel Mix 中使用子目录 URL

2024-03-10

我的 Laravel Mix 应用程序将放置在服务器上的子目录中,例如:http://localhost/pat-os-server/public/ http://localhost/pat-os-server/public/

我的 vue 组件中的图像路径编译自

<img id="logo" src="../assets/img/pat_logo.png">

To

<img id="logo" src="/images/pat_logo.png">

现在,由于应用程序所在的子目录,图像未显示。正确的路径应该是图片/pat_logo.png(相对 - 首选)或/pat-os-server/public/images/pat_logo.png(绝对)

我尝试在 webpack.mix.js 中设置输出路径,如下所示:

mix.setPublicPath('/pat-os-server/public/');
mix.setResourceRoot('/pat-os-server/public/');

但这不会改变输出路径。依然是/images/pat_logo.png。我希望它是/pat-os-server/public/images/pat_logo.png现在。对 setPublicPath 和 setResourceRoot 使用其他值(包括“/”和“”)不会造成任何差异。

我在调用其他方法之前放置了路径设置方法,所以我当前的 webpack.mix.js 如下所示:

const { mix } = require('laravel-mix');

mix.setPublicPath('/pat-os-server/public/');
mix.setResourceRoot('/pat-os-server/public/');
mix.js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css');

如何获取图像的相对输出路径或更改绝对路径?

感谢您的支持。

Edit

我刚刚意识到,在我的 laravel 项目中创建了一个子文件夹“pat-os-server”,并将所有已编译的项目文件复制到该子文件夹中。所以看来我误解了 setPublicPath 设置。

I don't想要将输出文件放入另一个文件夹中。我希望项目中的 URL 指向正确的路径,该路径不是主机/根目录,而是子目录。


经过几个小时的搜索和试用后回答我自己的问题。

现在我的 webpack.mix.js 看起来像这样:

const { mix } = require('laravel-mix');
mix
  .setResourceRoot("")
  .js('resources/assets/js/app.js', 'public/js')
  .sass('resources/assets/sass/app.scss', 'public/css');

这将产生漂亮的相对 URL:

<img id="logo" src="images/pat_logo.png">

更多示例

Use mix.setResourceRoot("/")获取根目录的绝对路径(应该是默认的):

<img id="logo" src="/images/pat_logo.png">

或者使用其他类似的东西mix.setResourceRoot("anything/there/"):

<img id="logo" src="anything/there/images/pat_logo.png">

Cheers

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像具有绝对路径 - 如何在 Laravel Mix 中使用子目录 URL 的相关文章

  • 如何将 vue3-openlayers 插件添加到 nuxt

    我有以下 main ts 文件Vue3 https v3 vuejs org import createApp from vue import App from App vue How to do this in nuxt3 import
  • 在 Laravel 中使用块或游标优化代码

    我有Company型号和Contact我的模型中定义的Laravel 5 4应用程序中 两者具有多对多的关系 因此 例如联系人模型具有 public function company return this gt belongsToMany
  • Laravel Blade - 链/嵌入多种布局

    在我最喜欢的模板框架中 它们通常具有嵌套布局的能力 这在 Blade 中是可能的吗 例如 master blade php yield content 导航 blade php extend master
  • 监听 Vue.js 中的自定义事件

    Vue js 非常适合处理浏览器事件 例如click or mousedown 但根本不适用于自定义事件 这是代码 HTML div style display none div div div div div
  • 用嘲笑测试 Laravel 外观总是会通过,即使它应该失败

    我试图在单元测试期间模拟 Laravel 中的一些外观 但似乎无论如何测试总是会通过 例如 此示例取自 Laravel 文档 Event shouldReceive fire gt once gt with foo array name g
  • 将选定的值传递给 vuejs 函数

    如何将选定的值传递给 vuejs 函数 v model我猜不会有帮助 我需要在之后设置过滤器的值item items orderBy sortKey reverse where reverse and sortKey是动态值 html
  • Laravel:使用 Faker 播种多个独特的列

    介绍 怎么样 伙计们 我有一个关于模型工厂和多个独特列的问题 背景 我有一个名为 Image 的模型 该模型将语言支持存储在单独的模型中 图片文字 图片文字 has an image id栏 语言栏和文本栏 图片文字有一个约束MySQL那个
  • Laravel Homestead 中 npm 安装错误有解决方案吗?

    Windows 10 家园 虚拟盒6 0 8 流浪者2 2 5 节点 v12 5 0 npm v6 10 1 我想做的就是在新安装的 Laravel 应用程序中执行 npm install 命令 但我不断收到错误 经过两天的谷歌搜索并尝试了
  • 将 Laravel 集合/数组转换为 Javascript 数组

    我想将 Laravel 中的数组分配给 JavaScript 数组 我已经从我的AppServiceProvider和 json decoded 它像 View composer function view users Users all
  • 关闭 css 、 vue cli 3 webpack 4 的单独块

    我正在使用使用最新版本的 vue cli 3 创建的项目 我使用的是默认配置 我的路由器有很多动态导入的路由 我的 css 和 js 在生产环境中运行时都被分成多个块 虽然 js 的行为是可取的 我的 css 文件非常小 我想关闭 css
  • Laravel Schema Builder 改变存储引擎

    我正在尝试更改表并将其存储引擎更改为InnoDb 当我跑步时php artisan migrate它完成且没有错误 然而 当我检查 Sequel Pro 中的存储引擎时 没有任何变化 public function up Schema ta
  • 部署到 Netlify 时,Nuxt 将 CSS 不透明度编译为 1%,而不是 100%

    我有一个 Nuxt 应用程序 在本地运行得很好 当我将它部署到 Netlify 时 其中yarn generate自动运行 我注意到发生了一些奇怪的 CSS 事情 我有一张具有悬停效果的卡片
  • 页面在 Google Adwords 转化跟踪上重定向

    我有一个表单 人们可以在其中提交数据 然后使用 ajax 将数据发送到服务器 我已将其设置为 Google Adwords 中的转化 下面是我使用过的代码 问题是 当用户提交表单时 在收到响应后 它会重定向回我给出的 URL 我不想重定向
  • Laravel Passport,通过密码客户端进行多个连接

    我无法理解如何使用 Laravel Passport 通过密码客户端为同一用户实现多个连接 我有一个移动应用程序 需要与基于 Laravel 的 API 进行通信 我的用户在首次启动应用程序时必须输入他们的login and passwor
  • 运行一个特定的 Laravel 迁移(单个文件)

    我的项目中有 5 次迁移 我只想运行这些迁移之一 是否可以将单个文件的名称传递给php artisan migrate命令 您可以将迁移放入更多文件夹中并运行如下命令 php artisan migrate path app databas
  • Vue-Router 抽象父路由

    我正在尝试将当前网站迁移到 vuejs 站点地图必须是 login signup password reset browse search dozens of other routes 由于其中一些路线共享大量 fx 因此我将它们设为父路线
  • Laravel Vue js spa 应用程序

    1 我想知道为什么人们使用两台服务器用 laravel 制作 vuejs SPA 我想我们可以用另一种方式 制定这样的路线 Route get any function return view index gt where any 并让 v
  • cURL 错误 77:设置证书验证位置时出错:CAfile

    我正在使用 Firebase php SDKlink https firebase php readthedocs io en latest index html并在 Windows 10 上的 XAMPP 服务器上使用 laravel 最
  • 我正在尝试向我的 vue.js 项目添加背景图像

    我想添加覆盖整个页面的背景图像 然而现在看起来是这样的 我希望它跨越整个网页 在 vue js 中这将如何完成 我还想要一个动画工具栏 以便当页面不滚动时工具栏是透明的并呈现背景图像的外观 当它滚动时 工具栏将具有当前的蓝色 这是我的小提琴
  • 如何在 Laravel 5.4 中加载 Vue 组件?

    我已经运行 npm run watch 并收到了消息 This dependency was not found in resources assets js app js To install it you can run npm ins

随机推荐