2013-03-29 3 views
15

データグリッドを構築するためにhttp://exacttarget.github.com/fuelux/を追加しました。 私はそれを使うためにライブラリを追加したかったのです。私は次のようにしました:ReferenceError:datagrid.jsにfueluxを埋め込む際にdefineが定義されていません

<link href="<spring:url value='/assets/css/fuelux.min.css' htmlEscape='true' />"  media="all" rel="stylesheet" type="text/css" /> 
<link href="<spring:url value='/assets/css/fuelux-responsive.min.css' htmlEscape='true' />" media="all" rel="stylesheet" type="text/css" /> 
<script src="<spring:url value='/assets/js/fuelux-datagrid.js' htmlEscape='true' />" type="text/javascript"></script> 

他のライブラリで動作するので正しいと確信しています。しかし、私は次のエラーを取得する:

define(['require','jquery'],function(require) {...fuelux-datagrid.jsのコードである
ReferenceError: define is not defined 
[Break On This Error] 
define(['require','jquery'],function(require) { 

  • このエラーは何ですか。
  • 私はdefinerequire.jsのキーワードであると考えていますです。これはfuelux-datagridに依存していることを意味しますか?
  • ライブラリーをロードする方法を教えてもらえますか?

答えて

10

あなたがRequireJSを使用していない場合は、基本的なスクリプトタグでちょうどloader.min.jsをロードすることでこの問題を回避することができます

<script src="http://fuelcdn.com/fuelux/2.3/loader.min.js"></script> 

このパッケージには含まれていブートストラップのために必要なJavaScriptをすべてをAMDローダーに依存しないFuel UXを提供します。

+0

これを行う前に、jQueryをロードする必要性を明らかにしたはずです。そんなにうまくいった人には申し訳ありません! –

+0

Adam、私はFuelUX(非AMD)のwizard.js部分を使用しようとしています。私はfuelux.min.css、jquery-2.1.0.min.js、loader.min.js、wizard.jsを(この順番で)ロードしていますが、定義がまだ定義されていません。何か不足していますか? – RHarris

+0

loader.min.jsには、ウィザードを含むすべてのコントロールが含まれています。あなたが見ているエラーはおそらくwizard.jsのAMDラッパーによって導入されています。ロジックがloader.min.jsに含まれているので、そのファイルを削除することができます。 Fuel UXのローディング戦略は、バージョン3のライブラリでは変更される可能性があることに注意してください。 –

3

はい、それらはRequireJSに依存しているようです。私は、彼らがライブラリをロードする方法を説明する多くのリソースを持っていないことに同意しなければなりませんが(少なくとも私が見たものから)、require.jsをロードし、その後ロードしようとしている他のリソースネットワーク要求で。

ここでは、RequireJSの設定方法の例を示します。 their docsもご覧ください。

<script src="scripts/require.js"></script> 
<script> 
    require.config({ 
    baseUrl: "/another/path", //here's where it will look for scripts 
    paths: { 
     "some": "some/v1.0" //path to other dependencies not located in the base path 
    } 
    }); 
</script> 
12

これが私の仕事:

<script src="https://raw.github.com/ExactTarget/fuelux/master/lib/require.js"></script> 
<script type="text/javascript" src="https://raw.github.com/ExactTarget/fuelux/master/dist/datagrid.js"></script> 

を私が提案し、何here提案されており、動作しませんでした何@AdamAlexanderてみました。私も最新のrequiredjsを試して、厄介な例外を得ました。 Go figure。

+0

ありがとうございます。これも私のために働いた。どうもありがとう。そして、他の人の回答も参考になりました。 – Lasang

+0

それは価値があるので、リンクされたExactTarget命令(jQueryとそのローダーなど)を動作させることができました。それは当初ではなかったし、私が見逃していたものが、私が構築しようとしていたコンポーネントの上にあるDOMの "fuelux"クラスの要素だったことがわかった。 http://jsfiddle.net/LeCodeNinja/FdpVL/ –

+0

これはほとんど私のために働いたが、require.jsは 'text/plain'として返され、jsとして実行されていなかった。私はここで述べたように、URLのraw.githubをrawgithubに変更しました:http://webmasters.stackexchange.com/a/51708 –

関連する問題