在哪里为Grails资产管道配置grails.assets.excludes?

时间:2014-08-04 16:06:10

标签: grails asset-pipeline

我应该在哪里为Grails资产管道配置grails.assets.excludes?

根据http://bertramdev.github.io/asset-pipeline/guide/configuration.html,您可以包含或排除资产管道的文件。

但是,它没有指定添加位置。例如我们把它放在Config.groovy中吗?

我似乎从来没有使用下面的代码:

index.gsp中

<asset:stylesheet src="application.css" />

application.css

*= require_tree ../stylesheets

testing.css (位于assets / stylesheets / testing.css下):

body { background: green; }

Config.groovy (我假设这是添加配置的地方):

grails.assets.excludes = ["**/testing.css"]

除了一个问题之外,其他一切都有效:它永远不会排除testing.css。

有人真的让它工作了吗?我已经尝试将配置添加到BuildConfig.groovy,它也不起作用。

正在使用的版本:

  • Grails 2.4.2
  • 编译“:asset-pipeline:1.8.11”

3 个答案:

答案 0 :(得分:2)

对于grails 3.1,它包含在build.gradle文件中:

assets {
    minifyJs = true
    minifyCss = true
    excludes = ["**/*.html"]
}

答案 1 :(得分:1)

  

我应该在哪里为Grails资产配置grails.assets.excludes   管道

你应该进入config.groovy你是对的。

我尝试了以下操作并且它有效(从路由插件中排除css):

grails.assets.plugin."routing".excludes =["**/*.css"]

尝试升级到较新版本的asset-pipeline(版本1.9.6是最新版本)

答案 2 :(得分:0)

有几种方法可以从预编译阶段排除文件,以减少过多的编译。

  1. 您可以结合使用排除和包含模式来限制您需要在config.groovy中处理的文件。

    示例 你有一个需要jquery.js的javascript文件,你不需要编译jQuery,因为当处理javascript文件时,jQuery会与它捆绑在一起。

    grails.assets.excludes = ["jquery.js"]
    grails.assets.includes = ["application.js"]
    
  2. 您不希望使用下划线(_)

    进行预编译的前缀文件

    示例

    要单独编译的原始文件名:example.js

    要排除的新文件名:_example.js

  3. source