問題タブ [grunt-contrib-uglify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - ソース マップを使用したデバッガーでのマングル名
Chrome/Safari のデバッガーは、grunt-contrib-uglify で生成されたソース マップを使用する場合、マングルされていない変数名を表示しません。ソース コードが表示され、正しくデバッグされます。ソース マップに変数名が含まれていることを確認しました。これはuglifyのバグですか?
元のソース:
生成されたソース:
ソースマップ:
javascript - 座標記号マングリング
grunt-uglify-contrib を取得して、出力ファイル間のシンボルマングリングを調整する方法を知っている人はいますか?
かなり大きなプロジェクトがあり、醜いファイルを 2 つ以上のファイルに分割しています。
私たちの Gruntfile uglify タスクの例は次のようになります。
トップレベルのシンボル マングリングが必要です。しかし問題は、main_app.js が base_app.js のシンボルを認識できないことです。
もちろん、これを 1 つの JS ファイルにビルドすればすべて機能しますが、うまく機能しません。
base_app.js を醜くし、main_app.js に同じシンボルを再利用/再適用するときに作成されたマングル シンボル マップを格納するように uglify を取得する方法に関するヒントはありますか?
ありがとう!
javascript - Grunt Ugliify が関数名を保持しているのはなぜですか?
私は grunt-contrib-uglify のうなり声構成を持っています:
ここに私が持っているものに関するいくつかのサンプルコードがあります:
単調なタスクを実行した後、圧縮は空白などを取り除くという点で機能しますが、コードにはまだ名前が付いた関数ラベルがあります。たとえば、圧縮ファイルCore.Dom.AddItem
ではa.Dom.AddItem
. 名前をどこにあるのか、どこにあるのかをマングルする方法はありa.b.c
ますb=Dom
かc=AddItem
? 私も試してみmangle: true
ましたが、関数の名前を保持しています。私が間違ったことをした人はいますか?
javascript - 無名関数で醜くする
私はこのような.jsを持っていて、それを圧縮しています:
Google Closure コンパイラを使用すると、エラーは発生せず、「this」はウィンドウ オブジェクトを参照しています。しかし、( mangle true または false で) Uglify を使用すると、「this」で undefined が取得されます (したがって、オブジェクトは未定義であり、エラーが発生します)。誰も理由を知っていますか?
基本的に、これをウィンドウに変更するだけで機能しますが、私の懸念は、他のコード、ライブラリ、または将来醜いものになることです。
注: オプションで grunt-contrib-uglify プラグインを使用しています: mangle: true、preserverComments: false、sourceMap: true
javascript - 開発および本番モードで grunt タスクを実行しようとしても、デフォルト タスクが実行されない
私は 2 つのモードを持っています。つまり、js のプロダクション モードと開発モード、およびプロダクション モードでの css 縮小と、開発モードでの連結のみです。
これには複数のタスクがあり、何らかの理由でデフォルトモードを開発に設定しました。タスク「開発」が見つからないと言ってうなり声が失敗します。デフォルトタスクで開発を明示的に定義した場合。
ここに私のgruntfile.jsがあります
};
gruntjs - Grunt ソース ファイルが空です
ファイル配列内の複数のオブジェクトに問題があります。実行する必要があるファイルのグループが 2 つありますuglify
。1 つは圧縮が必要な単一のファイルで、もう 1 つはファイルのグループです。問題は、ソース ファイルが定義されていないとタスクが言い続けることです。ファイルがその場で圧縮されているため、src
とdest
は同じです。これは以前は機能していましたが、テンプレートを導入したときに問題が発生しました。確認するための簡単なテスト タスクを設定しました。タスク構成は次のとおりです。
そして、これが私の簡単なテストタスクです:
files 配列の 2 番目のオブジェクトはタスク内にまったく存在せず、最初のオブジェクトには空白のsrc
プロパティがあります。