Moff.jsおよび変調されたブートストラップ

Moff.jsとブートストラップ



前の記事でMoff.jsフレームワークを使用して、CSSフレームワークを使用せずにMobile Firstページを簡単に作成できる方法について説明しました。



しかし今日、ほとんどのプロジェクトは何らかのCSSフレームワークを使用しており、これらのフレームワークの1つがBootstrapです。 Bootstrapが最も人気のあるMobile Firstフレームワークであると言っても安全です。



このフレームワークの最大の欠点はそのサイズです。 縮小版の重量は154.9KBであり、これらは単なるCSSおよびJSファイルです。



多くの場合、開発者は機能の一部のみを必要としますが、フレームワーク全体を全体として接続します。 そのため、モバイルデバイスユーザーは大量の過剰なトラフィックをダウンロードする必要があります。 この問題の解決策は、フレームワークを、モバイルファーストアプローチで使用するのに便利な、頻繁に使用されるモジュールとあまり使用されないモジュールのグループに分割することでした。 これらの各グループは、Moffの個別のモジュールとして提出されました。



すべてのモジュールは3つのカテゴリに分類されます。





メインカテゴリには、次のモジュールがあります。





コンポーネントカテゴリには、すべてのブートストラップコンポーネントが含まれます:アラート、バッジ、パンくずリスト、ボタングループ、ドロップダウンなど

JavaScriptsカテゴリには、すべてのBootstrap JSモジュールが含まれます:Affix、Alert、Button、Carouselなど。

Moff ページでモジュールの詳細なリストを読むことができます



モジュールの使用方法



Coreモジュールは基本的なものであり、他のすべてのモジュールの主な依存関係としてすべてのページに接続されています。

<link rel="stylesheet" href="bower_components/moff/dist/bootstrap/main/core.css">
      
      





次のBootstrap Sassモジュールで構成されています。

 @import 'node_modules/bootstrap-sass/assets/stylesheets/bootstrap/normalize'; @import 'node_modules/bootstrap-sass/assets/stylesheets/bootstrap/print'; @import 'node_modules/bootstrap-sass/assets/stylesheets/bootstrap/scaffolding'; @import 'node_modules/bootstrap-sass/assets/stylesheets/bootstrap/utilities'; @import 'node_modules/bootstrap-sass/assets/stylesheets/bootstrap/responsive-utilities'; @import 'node_modules/bootstrap-sass/assets/stylesheets/bootstrap/component-animations'; @import 'node_modules/bootstrap-sass/assets/stylesheets/bootstrap/responsive-embed'; @import 'node_modules/bootstrap-sass/assets/stylesheets/bootstrap/close';
      
      





残りのモジュールは2つの方法で接続できます。



AMD(非同期モジュール定義)



 Moff.amd.register({ id: 'grid', depend: { js: ['bower_components/moff/dist/bootstrap/javascripts/button.js'], css: [ 'bower_components/moff/dist/bootstrap/main/grid.css', 'bower_components/moff/dist/bootstrap/components/pagination.css', ] }, file: { js: ['modules/listing.js'], css: ['modules/listing.css'] }, loadOnScreen: ['md', 'lg'], onWindowLoad: false });
      
      





モジュールを登録したら、それをダウンロードして使用を開始する必要があります。 ダウンロードする方法は2つあります。



AMDを使用して

 Moff.amd.include('grid');
      
      





またはデータイベントの使用

 <a href="listing.html" data-load-target="#grid-target" data-load-module="grid">Show listing</a> <div id="grid-target"></div>
      
      







HTML



 <link rel="stylesheet" href="bower_components/moff/dist/bootstrap/main/core.css"> <link rel="stylesheet" href="bower_components/moff/dist/bootstrap/main/grid.css"> <link rel="stylesheet" href="bower_components/moff/dist/bootstrap/main/typography.css">
      
      







どちらのアプローチにも欠点があります。 これは、多くのファイルがあるため、HTTP接続には長い時間がかかります。 しかし、この問題は最初のダウンロードです。将来、ファイルはキャッシュからダウンロードされます。 解決策はファイルのマージです。 現時点では、これは手動で行うことができますが、将来的に同様の問題を解決するMoff用のCLIを作成する予定です。



PS MoffのBootstrapのモジュラーバージョンは、フレームワークの必要な部分のみをロードしてページサイズを容易にするのに役立ちます。



All Articles