通过 npm 编译它会更改图像路径

Posted

技术标签:

【中文标题】通过 npm 编译它会更改图像路径【英文标题】:by npm compilation it changes the image path 【发布时间】:2019-01-31 21:46:20 【问题描述】:

我正在使用带有 npm 的 Laravel 框架。 在 scss 文件中,我有图像路径:

background-image: url("../../img/frontend/payments.png");

通过编译,当我打开 styles.css 并查找该图像时,路径如下:

background-image: url(/images/payments.png?464788fabc66a26cf02344b0dcbcdde2);

如何更改该路径,因为我所有的图像都在 img/ 文件夹中。

还有一件事情让我很困扰。我需要复制 resources/sass 文件夹中的 payment.png,该文件夹正在复制 public/images 中的那张图片。所以我有每张照片的副本。是否有可能将我的所有图像都保留在 public/img 文件夹中?

【问题讨论】:

【参考方案1】:

如果你使用 Laravel mix,url 会因为 webpack url 处理而改变。 您可以在official documentation 中了解更多信息。

tldr

mix.options(
    processCssUrls: false
);

关于重复资源(如您提到的图片):将原始资源保留在 resources 目录中,并使用 Laravel mix 将它们复制到 public 文件夹中。这背后的原因是有时您想要处理资源然后复制它们。例如,首先优化 png 文件,然后将它们复制到 public 文件夹,同时将原始文件保留在资源目录中。

【讨论】:

以上是关于通过 npm 编译它会更改图像路径的主要内容,如果未能解决你的问题,请参考以下文章

通过 npm 节点自动化 Git 提交 + 版本控制 + 标记

如何通过iphone中的sqlite获取路径来显示文档目录中保存的图像

NVM 全局模块文件夹

Npm 编译器:无法读取未定义的属性“startsWith”

更改 asdf 中已编译文件的路径?

如何通过npm编译Typescript代码