私は最初の大きな JavaScript プロジェクトを始めています! 展開について質問がありました。Web サービスへの ajax 呼び出しを使用しています。これを設定するために、次のようなコードを含む静的 JS ファイルがあります。
var API_URL_ROOT = 'http://api.example.com/';
var IN_DEVELOPMENT = True;
if (IN_DEVELOPMENT) {
API_URL_ROOT = 'http://localhost.com/api';
}
$.get(API_URL_ROOT)
python/fabric を使用してデプロイしています。 JavaScriptファイルの静的分析/操作を処理するための事前構築済みツールがあるかどうか疑問に思っていました。、今はコミッターにトグルを任せます
次のような展開プロセスを計画していました。
- deploy コマンドを発行する
- すべての値を本番環境の値に設定することにより、JS を「ビルド」します (つまり
IN_DEVELOPMENT = False
) 。 - JS を縮小する
- コードを運用サーバーにデプロイする
sed などを使用してIN_DEVELPMENT = False
交換することを考えていました。私はいくつかの一般的な縮小ツールを見てきましたが、この種の機能を提供するツールはないようです。
これは、アプリケーションにとって非常に一般的な問題であると思います。通常どのように扱われますか?どんな助けでも大歓迎です。ありがとうございました
最近、mozilla の hackernewsに関する記事を読みました。
Mozilla Persona コード ベースでは、テスト API の一部として余分な関数を明確にマークして、テストが難しいプライベート関数をパブリック インターフェイスに公開することがよくあります。他の開発者はこれらのプライベート関数を呼び出すことができますが、作成者の意図は明らかです。
...
publicFunction: function() {
return "publicFunction can be invoked externally but "
+ privateFunction();
}
// BEGIN TESTING API
,
privateFunction: privateFunction
// END TESTING API
};
// privateFunction is now accessible via the TESTING API
function privateFunction() {
...
// BEGIN TESTING API と //END TESTING API 疑似マーカーの間のコードは、ビルド プロセス中にプロダクション用に削除できます。
したがって、他の企業は間違いなくこれを行っています。このコードを削除できる JS ビルド プロセスを容易にする既製のツールはありますか? 私は github で彼らのプロジェクトをいくつか見ましたが、何も表示されませんでした。ありがとうございました