MooTools 1.3
そのため、待望
の MooTools 1.3の
リリースが発表されました。 フレームワーク自体とその「環境」の変更について少し説明します。 バージョン1.2と1.3にはかなりの違いがありますが、最初に最初のものがあります。
最初に言いたいのは、バージョン1.3のビルドがあり、1.2と100%互換性があることです。アップデートを恐れることはできません。
スリック
そして、違いについて。 新しいバージョンで最も魅力的なのは、新しいCSSセレクターエンジンのSlickです。 MooToolsとは完全に独立しており、個別に使用できます。 「izkarobki」は、考えられるものと考えられないものすべてのセレクター/疑似セレクターをサポートします。これで十分でない場合は、大丈夫です。常に新しいセレクターを作成することができます。
MooTools以外での使用例:
Slick.search(document, "div > p.moo:not(.foo)");
MooTools内では、セレクターは通常どおり使用されます。
そして今簡潔に:
- 純粋なjavascript
- 古いものより50%高速
- 考えられるすべてのセレクターをサポートします。
- 柔軟で、独自の疑似セレクターを作成できます
- XML検索をサポート
APIの変更
コア
- 現在、$メソッドは過去のものです。
- $ chk(値)=>(値!= null)
- $ A(アイテム)=> Array.from(アイテム)
- $ splat => Array.from
- $ clear =>は、ネイティブのclearTimeoutまたはclearIntervalを使用する必要があります
- $ defined =>(value!= null)
- $ each =>コンテキストに応じたArray.each / Object.each
- $ empty => deleted、use function(){}
- $ extend(ソース、拡張)=> Object.append(ソース、拡張)
- $ merge({}、a、b)=> Object.merge({}、a、b)
- $ mixin(a、b)=> Object.merge(a、b)
- $ lambda => Function.from
- $ random => Number.random
- $ time => Date.now
- $ type => typeOfを1回変更すると、空のオブジェクトに対して文字列「null」が返されるようになりました
- $ unlink => Array.clone / Object.clone
- $引数=>削除
- $ pick => Array.pickまたは[a、b、c] .pick()
- $ exec => Browser.exec
同様に
- ネイティブはタイプと呼ばれるようになりました
- Array.type / String.type / Number.type /など => Type.isArray / Type.isString / Type.isNumber /など
- Hashと$ HはMooToolsに移動しましたMore
ブラウザ検出
- エンジンの検出=>ユーザーエージェントの検出。
- Browser.Engine =>削除
- Browser.Engine.trident => Browser.ie
- Browser.Engine.gecko => Browser.firefox
- Browser.Engine.webkit => Browser.safariまたはBrowser.chrome
- Browser.Engine.presto => Browser.opera
- Browser.Platform.ipod => Browser.Platform.ios
配列
- Array.extend => Array.append
機能
- myFn.bind(this、[arg1、arg2、arg3])=> myFn.bind(this、arg1、arg2、arg3)またはmyFn.pass([arg1、arg2、arg3]、this)
- $ try => Function.attempt
- myFn.run(引数、バインド)=> myFn.apply(バインド、Array.from(引数));
- myFn.create => .pass、.bind、.delay、.periodicalを使用
- myFn.bindWithEvent =>非推奨
要素
- element.injectInside、.injectBefore、.injectAfterなど=> element.inject(context、where);
- element.grabTop、... => element.grab(コンテキスト、場所)
- element.hasChild(アイテム)=> element.contains(アイテム)&&
- item!=要素
- Selectors.Pseudo => Slick.definePseudo(名前、fn)
- Element.get => 2番目のパラメーターはサポートされなくなりました(これはアニメーションに使用されます。たとえば、element.get( 'tween'、options)、element.set( 'tween'、options).get( 'tween'))
Slickを使用すると、新しい要素を簡単に作成できます。
new Element("input", {"id": "someID", "class": "someClass1", "disabled": true});
新機能
- Type.from(Array.from、String.from、Function.fromなど)=>型変換
- Fx =>すべてのエフェクト用の統合タイマー
環境
- MooTools Test Runner =>現在、テストはすべてのブラウザだけでなくサーバーでも自動的に行われます
- Packager =>ニーズに合わせてMooToolsを収集するための新しいツール。
パッケージャー
Packagerはプロジェクト管理用に設計されました。 次のように機能します。各ファイルの先頭にコードを作成し、名前、作成者、依存関係などを指定する特別なコメントを作成します。また、パッケージ(プロジェクト)の構成ファイルを作成し、名前、説明、アセンブリの参加者のリストを指定しますファイルなど、パッケージャーはターミナルから動作します:
$ packager register /path/to/project $ packager build ProjectName/* > myproject.js
アセンブリ中に、外部の依存関係が考慮されます。 外部とは、パッケージャーにも登録されている他のプロジェクトへの依存関係を意味します。 物事は非常に便利です。私はそれをプロジェクトに6か月間使用しています。
まとめ
全体として、コードの約3分の1が書き直されました。 MooTools Moreには多くの変更もあります。たとえば、イベントの擬似セレクターのサポートが登場しました。たとえば:
element.addEvent('click:once', function(){});
次の大きなリリースはMooTools 2です(確かに)。
リポジトリ:
MooToolsコアMooToolsその他スリックパッケージャーSource: https://habr.com/ru/post/J106014/
All Articles