1

pickadate を browserify でうまく動作させる方法が見つからないため、私は苦労し、非常に不満を感じていました。AMD から Backbone アプリを移行していますが、pickadate では動作しないようです。私は最近 browserify を使い始めたので、専門家ではありませんが、大きな問題なく残りのコードを移行できました。もちろん、ブラウザ化をマスターするためのヒントや参考文献を受け取ることもできます:)

jquery と pickadate を npm 経由でインストールしましたが、pickadate を使用しようとすると、古典的なエラーが発生します: undefined is not a function この方法で要求しました (require を変数に割り当てずに使用することに注意してください): require("jquery"); require("pickadate");

これは、stackoverflow の回答 ( Requiring pickadate.js with Browserify ) で見ましたが、私の場合は機能しません。

ヘルプがどこにあるかについてのヘルプまたは参照は、非常に高く評価されます。

4

1 に答える 1

2

モジュールとしての pickadate の現在のバージョンは PickerConstructor のインスタンスのみを公開しますが、DatePicker も TimePicker も公開しないため、日付ピッカーまたは時刻ピッカーをインスタンス化しようとするたびに、undefined is not a functionどちらも読み込まれていないため、エラーが発生します。jquery.extendそれらを jQuery オブジェクトに追加するための呼び出しが行われました。

必要なのは、すべての pickadate 機能をすぐに公開するための何らかのファサード/ラッパーです。

このために、pickadate のコード ベースにいくつかの小さな変更を直接加えました。index.jsとのファサード/ラッパーとして機能する を追加しpicker.js、典型的な. pickadate はそれ自体を jQuery オブジェクトに直接アタッチするため、変数に割り当てる必要はありません。私が使用したコードでこの要点を確認できますpick.datepick.timerequire('pickadate')index.js

この変更は、@evanvosberg による CryptoJS ライブラリが、そのindex.jsファイルに実装された同じパターンを通じてさまざまなアルゴリズムを公開する方法のコピーです。

唯一の追加の変更はmain、pickadate のプロパティをpackage.jsonを指すように変更することindex.jsです。

この変更を pickadate github リポジトリに直接統合する可能性を求める pickadate の作成者である@amsulにメッセージを送信しました。

pickadate を browserify で使用しようとしている人がこの解決策を見つけて、うまく連携させようとしてイライラするのをやめてくれることを願っています!

みなさん、こんにちは!

于 2015-01-23T08:44:18.507 に答える