如何使用grunt-usemin处理绝对url到css

时间:2014-01-16 20:00:38

标签: gruntjs grunt-usemin

我使用grunt-usemin构建应用程序项目

css与绝对路径相关联:

  <!-- build:css(.) /app/css/libs.css -->
  <link rel="stylesheet" href="/app-dev/lib/css/style.css"/>
  <link rel="stylesheet" href="/app-dev/lib/css/another.css">
  <!-- endbuild -->

javascript文件与相对路径链接:

  <!-- build:js js/app.js -->
  <script src="js/app.js"></script>
  <script src="js/services.js"></script>
  <!-- endbuild -->

grunt配置:

  useminPrepare: {
        html: 'app-dev/index.html',
        options: {
              dest: 'app'
        }
  },
  usemin: {
        html: ['app/{,*/}*.html'],
        css: ['app/css/{,*/}*.css'],
        options: {
              assetsDirs: ['app']
        }
  }

问题是css输出中有一个备用子文件夹级别:

app
- app
- - css
- - - libs.css
- js
- - app.js
- etc

而在输出的html文件中的引用是正确的

<link rel="stylesheet" href="/app/css/libs.css">

如何将css输出到正确的文件夹层次结构?

2 个答案:

答案 0 :(得分:1)

尝试删除构建路径前面的/

<!-- build:css app/css/libs.css -->
<link rel="stylesheet" href="/app-dev/lib/css/style.css"/>
<link rel="stylesheet" href="/app-dev/lib/css/another.css">
<!-- endbuild -->

答案 1 :(得分:0)

HTML文件也应位于“app”文件夹下,因此您可以删除“/ app-dev”。