2016-07-07 73 views
1

我正在嘗試使用sass-asset-pipeline:2.9.4,它使用libsass而不是指南針。然而,很多我的.scss文件使用libsass中沒有的mixins,所以我找到了一個webjar,compass-mixin,它有我想要的mixins。如何在grails和資產管道中使用webjars

資產管道雖然找不到mixin,但當它試圖符合@import "compass";時,我得到一個ERROR asset.pipeline.jsass.SassAssetFileImporter - Unable to find the asset for compass imported by home.scss錯誤消息。

我試過在導入中的各種路徑,因爲資產管道說它可以與webjars一起使用。

我如何獲得@import "compass";的工作?

回答

0

編輯:我自己的愚蠢答案,根本沒有工作,對此抱歉。

仍在尋找如何使羅盤在Grails /上海社會科學院的工作我結束了與解決方案的

+0

我最終用Gradle任務將文件複製到grails-app下的assets/stylesheets/vendor文件夾中。 –

+0

它是否適用於最新的'sass-asset-pipeline:2.9.4'? –

0

例子:在的build.gradle

assets 'org.webjars.bower:compass-mixins:1.0.2' 

bootRun { 
    dependsOn 'webjars resources extraction' 
    systemProperties = System.properties 
} 

task('webjars resources extraction', type: Copy) { 
    def jar = configurations.runtime.filter { it.name.contains('compass-mixins') }.first() 

    copy { 
     from zipTree(jar) 
     into "./grails-app/assets/stylesheets/vendor" 
     include 'META-INF/resources/webjars/compass-mixins/1.0.2/lib/**' 
    } 

    copy { 
     from "./grails-app/assets/stylesheets/vendor/META-INF/resources/webjars/compass-mixins/1.0.2/lib" 
     into "./grails-app/assets/stylesheets/vendor" 
    } 
    delete "grails-app/assets/stylesheets/vendor/META-INF" 
} 

assetClean { 
    delete 'grails-app/assets/stylesheets/vendor' 
} 

我也不得不改變進口在我的.scss文件中:

@import "vendor/compass"; 
@import "vendor/compass/css3"; 

@Jeremy POUILLOT:您的解決方案似乎是儘管我注意到這個插件說它不再處於積極的開發中,並且它需要在路徑上運行。