producitonにアップロードする前にfirebugコンソール呼び出しを削除します

まえがき

最近、Web開発に関連する投稿はほとんどありません。 私の投稿がコントラストのために有利に見えることを願っています:)

記事自体:


最近では、プロジェクトに新たに組み込まれた1つの機能の使用方法を顧客の担当者に示す必要がありました。

リリースの30分前に、新しいビルドを準備してテストしました。

到着すると、この機能は顧客にとって機能しないことが判明しました。 それは一般的に不愉快な結果となった。

イベントハンドラー関数でfirebugコンソールコール( console.log ...など)を削除するのを忘れたことがわかりました。文字を入力したり、誤ってキーボードをクリックしたり、追加したりすることがよくあります。それどころか、私は削除します-要するに、構文の強調表示と(できれば)コード構造の分析のないエディターの使用は私には禁忌です。

Apache Antを使用してアプリケーションをバトルサーバーにデプロイするため、 console.log(/* something */)またはconsole.dir(/* something */)へのすべての呼び出しをコードから削除する小さなスクリプトを追加しました。

実際には、ここにあります:

  1. <? xml version = "1.0" encoding = "UTF-8">
  2. < プロジェクト = "deploy" デフォルト = "stripFirebugConsoleCalls" basedir = "。" >
  3. <!-まだ圧縮されておらず、1つのファイルにマージされていない場所が積み重ねられている場所->
  4. < プロパティ = "js" = "js /" />
  5. <!-不健康な要素をキャッチするためのレギュラー(yui builder'aから恥知らずに引き出され、わずかにファイルと共に持ち込まれます)
  6. github.com/yui/builder/blob/master/componentbuild/shared/properties.xml 79行目->
  7. < プロパティ = "firebug.console.regex" = "^。*?(?:console.log | console.dir)。*?(?:; | \)。*; |(?:\ r?\ n。*?)*?\)。*;)。*;?。*?\ r?\ n " />
  8. < プロパティ = "firebug.console.regex.flags" = "mg" />
  9. < プロパティ = "firebug.console.regex.byline" = "false" />
  10. < プロパティ = "firebug.console.regex.replace" = "" />
  11. <!-ターゲット自体もYUI Builderから「インスパイアされた」もので、何も考えずに、オリジナルはここにあります:
  12. github.com/yui/builder/blob/master/componentbuild/3.x/module.xml 19行目->
  13. < ターゲット = "stripFirebugConsoleCalls" description = "firebug コンソール呼び出しを置き換える" >
  14. < replaceregexp byline = "$ {firebug.console.regex.byline}"
  15. match = "$ {firebug.console.regex}"
  16. replace = "$ {firebug.console.regex.replace}"
  17. flags = "$ {firebug.console.regex.flags}" >
  18. < fileset dir = "$ {js}" contains = "*。js" />
  19. </ replaceregexp >
  20. </ ターゲット >
  21. </ プロジェクト >
*このソースコードは、 ソースコードハイライターで強調表示されました。

この方法で使用します。使いやすい名前(たとえばboom.xml)でxmlファイルを作成し、このコードをコピーします。 もちろん、まだ圧縮されていないjsスクリプトのあるフォルダーを指すjs変数の値を調整する価値があります。 その後、次のコマンドを使用して地獄のマシンを起動します(bashの場合):

ant stripFirebugConsoleCalls -buildfile /path/to/boom.xml

以上です。 その後、次の非常事態またはプロジェクトの終了まで離陸します。

Source: https://habr.com/ru/post/J71586/


All Articles