3

私の現在のgrailsプロジェクトでは、JavaScriptファイルをUglifyJSで縮小し、これらの縮小されたリソースを開発環境で使用しています。あなたが想像できるように、これは縮小されたバージョンでデバッグするためのお尻の少しの苦痛です、縮小されていないバージョンのバグを修正し、それを縮小してもう一度デバッグします。したがって、縮小されていないバージョンを開発環境に含め、縮小されたバージョンを本番環境に含めたいと思います。そこで、ApplicationResources.groovyを調整して、次のスキームを使用してみました。

environments {
    development {
        modules = {
            core {
                resource url:"js/core.js"
            }
        }
    }
    production {
        modules = {
            core {
                resource url:"js/core.min.js"
            }
        }
    }
}

これはどういうわけか機能せず、次のような例外がスローされます

Caused by GrailsTagException: Error executing tag <r:layoutResources>: No module found with name [core]

私はここで何が間違っているのですか?

アップデート:

これを正しく理解しているかどうかはわかりません。私はどちらも機能しない次のことを試しました:

アップデート:

IDを追加するとうまくいきます:)

ApplicationResources.groovy

modules = {
    core {
        resource id: 'core', url:"js/core.min.js"
    }
}

DevelopmentResources.groovy

environment {
    development {
        modules = {
            overrides {
                core {
                    resource id: 'core', url:"js/core.js"
                }
            }
        }
    }
}
4

1 に答える 1

6

devおよびprodリソースモジュールを別々のファイルで定義してみてください。StaticResources.groovyやProductionResources.groovyのように。

各リソースファイルは、最終的にGrailsに1つの「モジュール」クロージャを提供し、Grailsは、各ファイルによって提供されるクロージャの定義を組み合わせて、最終的な構成を生成します。

これが完全なナブルディスカッションです。

于 2013-02-22T06:05:32.373 に答える