CommonJS の AMD 仕様とは異なり、Package.js の構文では、JS モジュールは他のものに依存することはできません。 JS パッケージだけでなく、CSS および HTML テンプレート ファイル、その他の JSON データ ファイルにも依存し、実行時に他の依存ファイルのコンテンツを取得します。定義構文は次のとおりです。
インポート プロセス中に、Package.js が自動的にインポートします。ロジスティック作業: 1 、このモジュールの依存モジュールをロードします。 2. 依存する HTML および CSS ファイルをロードします。
var btn=new Button();
btn.renderTo(document.body);
});
開発中は、モジュール化のために JS を小さなモジュール ファイルに分割する必要がありますが、本番環境に公開する場合は、読み込み速度を向上させるために、これらの JS ファイルを 1 つの JS ファイルにマージし、同様に圧縮する必要があります。 , CSS ファイルはマージする必要があります。
//パッケージング構成ファイル
// build-config.json ファイルの内容
{
"staticUrls": {"defaults":"http://statics.iwt.macrotarget.com/jslibs/"},
"nsconfs": [" http://www.cnblogs.com/statics/jslibs/XLib/_nsconf_.js"]、
"includes":["XLib.apps.MainApp","XLib.ui.*"]、
"compress":true //圧縮には UglifyJS と UglifyCSS を使用します
}
Package.js を使用すると、この関数を 3 行または 4 行記述するだけで済みます。 JSON 構成コードを入力してコマンドを実行すれば、すべて OK です。
#コマンドを実行
build.js build-config .json js all.min.js
build.js build-config.json css all.min.css
#腰も痛くなくなり、足も痛くなりません!
引用
追記: build.js はちょっとしたこともやってくれます。CSS ファイル内のbackground:url() などの相対パスを絶対 URL に変換します。開発時、CSS の url() は常に相対パスを記述するだけで済みます。本番環境にデプロイすると、build.js によってマージされた CSS が自動的に絶対 URL に変換します。 IE6 Png AlphaImageLoader フィルターと wui4ie6 ローダーを使用する場合でも、開発中に src= に相対パスを記述することができます。また、Package.js は絶対 URL を使用して CSS ルールを自動的に生成します。AlphaImageLoader の src も変換されます。パッケージ化するときに CSS に絶対 URL を記述する必要はありません
他のモジュール ローダーや AMD 実装 (RequireJS、SeaJS...) と比較した Package.js の利点、または欠点は何ですか?
Package.js は、Web アプリ フレームワーク用に開発されています。定義構文とファイル ディレクトリ構造は、AMD 仕様の最も単純な定義構文のみを使用します。
Package.js JS。モジュールの CSS および HTML ファイルへの依存は、定義の記述方法において他の JS モジュールへの依存とは区別され、CSS、HTML、および JSON パッケージ化の処理も build.js
(TOT) に含まれます。特別な注意が含まれますIE6 CSS 用 (いいえ、私たち自身のプロジェクトに必要です)
PackageMeta を追加すると、JS モジュールは実行時に独自の URL を知ることができます
... 欠点があるとすれば: CommonJS AMD 仕様と完全に一致していない 互換性あり
ビルドでは、includes、deps、all の 3 つのエクスポート モードがサポートされています。
開発モードではさらに便利です。クロスドメインの読み込みには _xproxy_.html を使用します。プロキシは必要ありません。 _nsconf_.js を使用すると、パスを構成する必要はありません。
これらの簡単な紹介を聞いたら、Package.js を試してみたくなるかもしれません。使用する前に、パッケージの詳細を参照してください。 .js ドキュメント:http://package-js.googlecode.com/hg/docs/Package.html。 わかりました! JavaScript アプリの開発に逆方向のメソッドを使用するのをやめ、アウトマンになるのをやめ、できるだけ早く Package.js を使用してください ^O^