AMD 以外の必要なアプリケーションでライブラリ ( Google の libphonenumber )を使用しようとしています。これを消費する最良の方法は何ですか?次のようなモジュールを作成できることはわかっています。
define(['module'], function (module) {
// insert and return library code here.
});
しかし、それは素晴らしいことではないようです。それを機能させるには、コードの一部をリファクタリングする必要があるようです (たとえば、すべてをオブジェクトに変換し、そのオブジェクトを返します)。ウィンドウ オブジェクトでモジュールを定義してそれを返す、すぐに呼び出される関数を使用する別のパターンを使用している多くのライブラリを目にします。
(function() {
var phoneformat = {};
window.phoneformat = phoneformat;
if (typeof window.define === "function" && window.define.amd) {
window.define("phoneformat", [], function() {
return window.phoneformat;
});
}
})();
**更新**これを行わない理由はありますか?
define(['lib/phoneformatter'], function(phoneformatter) {
});
すべてのメソッドにアクセスできますが、定義でライブラリをラップしなかったため、グローバルになっているようです...