2017-01-08 6 views
0

私はgrails 2からgrails 3に移行しようとしていますので、私のJavaスクリプトファイルを管理するにはasset-pipelineプラグインを使用する必要があります。問題は、私が外部ライブラリのカップルを使用していることです。グローバル化、ajax-solr.彼らはかなり大きく、複数のファイルが互いに依存しています。また、jqueryに多くの依存関係があり、多くの名前空間を使用します。だから、私は単にそれらをasset/javascriptにコピーすると、私はコンソールで多くの例外を得る。grails asset-pipelineとexternal JS library

Uncaught ReferenceError: AjaxSolr is not defined 
Uncaught ReferenceError: jQuery is not defined 
ParameterHashStore.js:13 Uncaught TypeError: Cannot read property 'extend' of undefined 

最初の質問は、これらの図書館をどこに配置するかです。サブフォルダ内のasset/javascriptにありますか? またはasset/libのマニュアルに記載されている通りですか? (この組織のセットに追加される共通のフォルダは "lib"フォルダです。このフォルダは、jQueryやBootstrapのようなサードパーティのライブラリを整理するのに便利です - http://www.asset-pipeline.com/manual/)。はいの場合は、アセットプラグインを強制的にそこから取得する方法はありますか?

2番目の方法で依存関係の問題を解決しますか? //= requireディレクティブでglobalizeとajax-solrファイルを変更する必要がありますか?

答えて

0

私はそれを動作させることができました。私はlibフォルダ(grails-app/assets/lib/globalize/)でグローバル化に置かれ、すべての輸入品とのファイルglobalize-manifest.jsを作成:

//= require globalize/lib/globalize 
//= require globalize/lib/cultures/globalize.culture.pl-PL.js 
... 

私はグローバル化を使用する必要があるときに、私はそれが

// require globalize-manifest 
を使用してインポートします
関連する問題