首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails资产管道

问Grails资产管道
EN

Stack Overflow用户
提问于 2014-04-03 11:19:14
回答 1查看 1.3K关注 0票数 2

我是Grails的新手,我想问谁是Grails的专家。我在我的项目中使用资产管道作为资源管理。一切都很好,但有一个问题是,我的资源文件(scss文件,咖啡脚本文件,.)无论是否更改,每次呈现视图时都会编译资源(在dev和测试环境中)。这使得项目运行缓慢。在资产管道中是否有缓存资源的解决方案,因此如果没有任何更改,则不会编译资源。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-04-03 14:33:02

如果您正在使用require构建一个require tree,然后在视图中引用树,那么您可以直接排除每次插件预编译的原始资源。例如:

如果您在grails-app/assets/javascripts/application.js下面有一个要求树,如

代码语言:javascript
复制
//= require jquery
//= require app/models.js
//= require_tree views
//= require_self

或.coffee

代码语言:javascript
复制
#= require app/models.js
#= require test
#= require_self
#= require_tree .

而且您不希望每次使用require树对视图进行预编译,然后按如下方式添加配置:

代码语言:javascript
复制
grails.assets.excludes = ["app/models.js"] //app/*js for all resources under app

上面的配置通知插件以避免资源的预编译,并且只有在视图中引用资产并且资产有任何更改时才会进行编译。

您可以在使用文件上找到更多信息,主要是

如果需要树包含了资产,则可以选择将其排除在处理之外。这可以极大地减少资产的编译时间。

上面的配置可以是特定于环境的,只能用于开发和测试。对于生产环境和/或war,预编译就无关紧要了。

代码语言:javascript
复制
environments {
    development {
        grails.assets.excludes = ["app/models.js"]
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22835976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档