2016-04-15 5 views
0

私はdjango-requireで作業しています。私はhtmlページでインポートする必要があります。DatatablesとDatatables Responsive(応答性の高いデータテーブルのプラグインです)。 ここでの問題は、datatables.jsとdatatables.responsive.jsへのすべてのパスを設定すると、最終的なjsにページ内のすべてのスクリプトをブロックするエラーが発生することです。基本的には、datatablesはdatatables.responsiveにある関数を参照するため、datatables.responsiveはデータ型の前にロードする必要があるためです。Django-require - 前にモジュールをロードする方法

実は私common.jsファイルには、次のようなものです:

requirejs.config({ 
baseUrl: '../static/js', 
paths: { 
    "app" : 'app', 
    "jquery" : '../jquery/dist/jquery.min', 
    "datatables-responsive" : '../datatables.net-responsive/js/dataTables.responsive', 
    "datatables" : '../datatables.net/js/jquery.dataTables', 
    }, 
shim: { 
    "datatables-responsive" : ['jquery'], 
    "datatables" : ['datatables-responsive'], 
    } 
}); 

私はDataTableののDataTableの応答性依存関係を作ってみましたが、これは動作しません。何か案は?

PS:私は、DataTableの応答なしONLYのDataTableをインポートする場合、それはエラーやその他の問題

+1

どのバージョンのデータシートを使用していますか?現在のバージョンはAMDに準拠しているため、シムにする必要はありません。 – DFriend

+0

こんにちは、私はdatatablesとdatatablesの最新バージョンを使用して応答しています。あなたのコメントのおかげで、私は正しいものを探し始め、問題を見つけました。私は1分で解決策を投稿します、ありがとう! –

答えて

0

私は最終的に問題を発見した、またはより良い、問題なく正常に動作します。 DatatablesはすでにAMDモジュールであり、シミングする必要はありません。そのため、単独で使用することは問題ではありませんでした。問題は別のものでした:datatables responsive。私の研究で私は見つけませんでしたANYTHING datatables responsiveは特定の方法でデータテーブルを必要としていると言及しています。私のrequirejs設定では、私は "datatables"という名前のdatatablesをロードしていましたが、応答可能なデータテーブルをロードするときには、コードに "datatables.net"が必要です。 これは問題でした。データ型はシムにする必要はなく、応答性のあるデータ型、依存性やその他のものも、定義する必要はありません。応答可能なデータ型にも「jquery」の名前でjQueryが必要であると言わなければなりません。ちょうどそれらをインポートするための正しい方法を理解するために、次のコードを見て:

requirejs.config({ 
    paths: { 
     "jquery" : './path/to/jquery/dist/jquery', 
     "datatables.responsive" : './path/to/datatables.net-responsive/js/dataTables.responsive', 
     "datatables.net" : './path/to/datatables.net/js/jquery.dataTables', 
    }, 
}); 

、あなたの初期化ファイル(または何でもあなたがそれを呼ばれる)で、あなたがそうのようにそれらをインポートします:

define(['jquery','datatables.net','datatables.responsive'], function($, datatables) { 

    $(document).ready(function() { 
     $('#datatable').DataTable({ 
      responsive: true, 
     }); 
    }); 

}); 

FINISH !これで、require拡張子を持つ完全に動作するデータ型を持っています(これは他のプラグインを含む)。 これは誰かを助けてくれると思いますが、英語の間違いがあれば、私はイタリア人です。

+0

Grazie per la condivisione la vostra soluzione。私のイタリア語はどうですか? (あなたの英語は問題ありません) – DFriend

+0

おかげさまで、あなたのイタリアンはそれほど悪くはありませんが、正しい文章は "Grazie per aver condiviso la vostra soluzione"です:) –

関連する問題