css - Assets 管理——在连接和版本控制后维护对相关 Assets 的引用

标签 css laravel-5 asset-management laravel-elixir

我知道 L5 和 Elixir 仍在开发中,但我很高兴开始考虑重新组织我的代码的方法。我认为我的问题更多地与 Assets 管理有关,在 L5 和 Elixir 的背景下。

想要阐明应该如何处理连接和版本控制(在我的例子中,我使用的是 Elixir 的 styles()version())。我遇到的问题是 concat/version 之后的新文件将位于新文件夹中,从而破坏了对原始 css 或 js 文件中 Assets 的任何引用。

例如,具有 background-image: url('../img.png') 的原始 CSS 文件将不再有效。我已经尝试了一些东西,但都不是理想的,尤其是在供应商插件的情况下:

  1. 将所需的 Assets 逐一移动(对 Assets 的每个文件夹使用 mix.copy()),到新的构建路径(即 Elixir 的版本控制使用的构建路径)。
  2. 手动编辑每个 Assets 文件中的路径以引用绝对路径

虽然这两个选项都能让事情顺利进行,但我觉得我可能遗漏了一些东西。在使用 javascript 插件(例如带有自己的图像、字体、样式表等的插件)时,它也变得非常不切实际。

在连接和版本控制时,是否有更实用的方法来管理相对路径?

最佳答案

这是为版本控制构建后 Laravel Elixir 的解决方案。 对于复制命令,您需要将其作为完整路径引用。

var elixir = require('laravel-elixir');

/*
 |--------------------------------------------------------------------------
 | Elixir Asset Management
 |--------------------------------------------------------------------------
 |
 | Elixir provides a clean, fluent API for defining some basic Gulp tasks
 | for your Laravel application. By default, we are compiling the Less
 | file for our application, as well as publishing vendor resources.
 |
 */

elixir(function(mix) {
    mix.version('themes/default/assets/css/styles.css')
        .copy('public/themes/default/assets/img/', 'public/build/themes/default/assets/img/');
});

关于css - Assets 管理——在连接和版本控制后维护对相关 Assets 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27789466/

相关文章:

ruby-on-rails - 在 Heroku 上组合和缩小 JS/CSS 的最佳方法

actionscript-3 - 运行时加载外部资源并在 ActionScript 3 中重用预加载的资源?

javascript - 单击滚动按钮时不想将 anchor href 添加到 url

html - 菜单的内联 UL 不呈现父元素的背景

php - Laravel 不显示图像

php - 使用其他列值进行 Eloquent 更新

android - 在 Android Studio 中更改资源路径

html - 下一页有不同边距的 TCPDF 表头

php - 为什么我的媒体查询不适用?

Laravel 至少需要一个字段