「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
最近、のJavaScriptモジュール以下のような文字列が入っていたりしてフリーズしますね。
var myModule = require('...');
何気に、Reactも書いてますが、JavaScript書いている自覚がなかったりします。
詳細 †
モジュール化API †
最近はAMD(Asynchronous Module Definition)ではなく
CommonJS上でのモジュール化仕様
ES2015の仕様が策定されたことにより、
標準でモジュール化が可能となった。
AMD(Asynchronous Module Definition) †
- ブラウザ環境でモジュールの恩恵が受けられる。
- RequireJSで遅延ロード or コンパイル
参照方法 †
scriptタグ †
ブラウザからモジュール化されていないJSを使用する。
<script src="XXXX.js"></script>
require構文 †
- require()はCommonJSの仕様
- Node.jsで外部ライブラリを参照する方法
- npmでインストールしたものはrequire()で読み込める。
- メリット
- 再利用し易くなる。
- 単体テストがし易くなる。
- 特に、Reactとは相性がイイ。
module構文(import) †
- ES2015から利用できる書き方。
- 対応ブラウザがまだ少ない。
- Babelを通じて require構文 に変換後、
webpackなどを通じて依存関係を解決する。
モジュール・ローダー(バンドラー) †
RequireJS †
AMD派からRequireJSが生まれる。
がある。
- トレンド
- 非同期で読み込み可能なのが優位点だった。
- 主流ではなくなってきており採用する機会は少ない。
CommonJS派からもRequireJSに対抗してBrowserifyが生まれる。
RequireJSとBrowserifyのイイとこ取りをした後発のモジュールシステムがwebpack。
モジュール実装方法 †
CommonJSあるいはES2015 Moduleで定義。
npmパッケージ †
参考 †
Qiita †