gpt4 book ai didi

gruntjs - Grunt cssmin 重新定位相对 URI?

转载 作者:行者123 更新时间:2023-12-04 12:32:12 24 4
gpt4 key购买 nike

我正在设置 grunt-usemin对于我们的项目,但我遇到了 cssmin 的小问题任务。

我们的项目依赖于一些外部库,其中一些会带来一些额外的 Assets (如图像或字体)。问题是这些库没有相同的文件夹结构。

这是不同文件夹结构的示例

lib
|--lib1
| |--style1.css
| +--image1.png
+--lib2
|--styles
| +--style2.css
+--images
+--image2.png

在 index.html 中,所有样式表都被引用并放在构建块中。因此,当 usemin 任务执行时,库的样式表被连接在一个缩小的文件中并放入输出文件夹中。相应的 Assets (图像)也被复制到此输出文件夹并在 img 中展平。文件夹。输出文件夹结构看起来像
out
|--allstyles.min.css
|--image1.png
+--image2.png

您可以猜到,串联的样式表(在本例中)有两个不同的相对 URI:
  • image1.png
  • ..\images\image2.png

  • 这会导致无法找到某些图像的问题。我需要解决 将所有相对 URI 重新定位到 out 文件夹 .我尝试使用 targetroot cssmin 的选项任务,但无济于事。有人能指出我这个任务的正确配置还是另一个可以实现我正在寻找的 Grunt 任务?

    提前致谢!

    最佳答案

    我在 C:\web\project 中有一个 grunt 文件和 CSS 文件在 C:\web\project\www\css .以下代码段来自我的 grunt 文件,它为我正确地重新设置了 URL。

    var cssFiles = [
    'www/css/layout/Header.css',
    'www/css/layout/Footer.css',
    'www/css/vendor/chosen/chosen.css'
    // ...
    ];

    cssmin: {
    concat: {
    options: {
    keepBreaks: true, // whether to keep line breaks (default is false)
    debug: true, // set to true to get minification statistics under 'stats' property (see test/custom-test.js for examples)
    noAdvanced: true, // set to true to disable advanced optimizations - selector & property merging, reduction, etc.
    //relativeTo: 'http://online-domain-tools.com/'
    noRebase: false, // whether to skip URLs rebasing
    root: 'www'
    },
    nonull: true,
    src: cssFiles,
    dest: 'www/temp/application.css'
    },
    minify: {
    options: {},
    nonull: true,
    src: ['www/temp/application.css'],
    dest: 'www/temp/application.min.css'
    }
    },

    // ...

    grunt.registerTask('default', ['cssmin:concat', 'cssmin:minify']);

    你可以发布你的 gruntfile 来比较它吗?

    相关阅读: https://stackoverflow.com/a/21415649/99256

    关于gruntjs - Grunt cssmin 重新定位相对 URI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21563766/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com