サードパーティの JavaScript ウィジェットのソース コードを整理する方法が必要です。これは、ホスト サイトの名前空間に 1 つの変数を持つ 1 つの大きなクロージャです。このウィジェットは、単一の js モジュール/クロージャーに含まれます。jQuery のようなものは intro.js と outro.js を使用して構築されており、これにより無効な JavaScript が大量に作成されます。たとえば、jQuery の intro.js ファイルは次のようになります。
(function() {
私が必要としているのは、次のようなファイルを作成する方法です。
var _ns || _ns = (function() {
/* --include(src/module1.js)-- */
/* --include(src/module2.js)-- */
return { pub: api };
});
このようなもののための GruntJS タスクはありますか? これは、concat/uglify などとは異なります。concat を使用すると、jQuery チームと同じようにできることを知っています。私はそれを避けようとしています。また、ホスト サイトの js 名前空間を汚染する必要があるため、requireJS を使用できません。
非常に人気のある競合する結果がいくつかあるため、これをグーグルで検索することは非常に困難です。