JavaScript の最小化
縮小または圧縮とは、ソースコードの機能を変更せずに、スペース、新しい行、コメントなどの不要な文字をすべて削除することを意味します。開発およびデバッグ中、これらの文字によりコードが読みやすくなります。実稼働段階では、転送されるコードのサイズを増やすだけです。
ほとんどの場合、圧縮は、webpack(英語) などのビルドツールを使用して、ビルドプロセスのステップとして実行されます。ビルドツールを使用していない場合は、UglifyJS(英語) などのスタンドアロンツールを使用できます。
コードを自動的に縮小するには、縮小ツールをインストールし、ファイルへの変更を追跡して縮小ツールを実行する File Watcher を構成する必要があります。
デフォルトでは、File Watcher のスコープ内の JavaScript ファイルが変更されて保存されるとすぐに、縮小が開始されます。ツールを呼び出す他のイベントを指定することもできます。詳細については、File Watchers を参照してください。
生成された縮小コードは、ソース Javascript ファイルの名前と拡張子 min.js を持つ別のファイルに保存されます。この生成されたファイルの場所は、新規ウォッチャーダイアログのリフレッシュする出力パスフィールドで定義されます。ただし、プロジェクトツリーでは、縮小されたコードを含むファイルは、ノードとして表示されるソース Javascript ファイルに表示されます。このデフォルトのプレゼンテーションを変更するには、プロジェクトツールウィンドウでファイルのネストを構成します。
以下の例は、UglifyJS を使用して PyCharm から直接 JavaScript コードを縮小する方法を示しています。
サンプル: UglifyJS を使用して JavaScript を圧縮する
コードを自動的に圧縮するには、UglifyJS をインストールし、ファイルへの変更を追跡してツールを実行する UglifyJS ファイルウォッチャーを構成する必要があります。
デフォルトでは、File Watcher のスコープ内の JavaScript ファイルが変更されて保存されるとすぐに、縮小が開始されます。UglifyJS を呼び出す他のイベントを指定することもできます。詳細については、File Watchers を参照してください。
生成された縮小コードは、ソース JavaScript ファイルの名前と拡張子 min.js が付いた別のファイルに保存されます。この生成されたファイルの場所は、新規ウォッチャーダイアログのリフレッシュする出力パスフィールドで定義されています。ただし、プロジェクトツリーでは、縮小されたコードを含むファイルは、ノードとして表示されるソース JavaScript ファイルに表示されます。このデフォルトの表示を変更するには、プロジェクトツールウィンドウでファイルのネストを設定します。
始める前に
お使いのコンピューターに Node.js(英語) がインストールされていることを確認してください。
設定で JavaScript and TypeScript バンドルプラグインが有効になっていることを確認します。Ctrl+Alt+S を押して設定を開き、 を選択します。インストール済みタブをクリックします。検索フィールドに JavaScript and TypeScript と入力します。プラグインの詳細については、プラグインのマッピングを参照してください。
設定で File Watchers バンドルプラグインが有効になっていることを確認します。Ctrl+Alt+S を押して設定を開き、 を選択します。インストール済みタブをクリックします。検索フィールドに File Watchers と入力します。プラグインの詳細については、プラグインのマッピングを参照してください。
UglifyJS をグローバルにインストールする
埋め込まれたターミナル(Alt+F12)で、次のように入力します。
npm install --g uglify-js
UglifyJS 公式サイト(英語)の詳細を参照してください。
UglifyJS File Watcher を作成する
設定ダイアログ(Ctrl+Alt+S)で、ツールの File Watchers をクリックします。開く File Watchers ページには、構成済みのファイルウォッチャーのリストが表示されます。
をクリックするか、Alt+Insert を押して、リストから UglifyJS 定義済みテンプレートを選択します。
新規ウォッチャーダイアログが開きます。
プログラムフィールドに、UglifyJS 実行可能ファイルの場所を指定します。
Node パッケージマネージャーを介して UglifyJS をインストールした場合、PyCharm はパッケージ自体を検索し、フィールドに
uglifyjs
エイリアスを自動的に入力します。それ以外の場合は、パスを手動で入力するか、 をクリックして、表示されるダイアログでファイルの場所を選択します。デフォルトでは、スコープフィールドにはプロジェクトファイルが表示されます。すでに縮小されたファイルの縮小を回避するには、新しいスコープを定義するに従って、
file:*js&&!file:*.min.*
パターンを使用してカスタムスコープを構成します。次に、スコープリストから新しいスコープを選択します。
その他のデフォルトの File Watcher 設定を受け入れるか、必要に応じて File Watchers の説明に従って再設定し、OK をクリックします。PyCharm をクリックすると、新しい File Watcher がリストに追加される File Watchers ページに戻ります。
「有効」チェックボックスが選択されていることを確認します。
デフォルトでは、File Watcher は現在のプロジェクトで使用できます。他のプロジェクトで使用するには、レベルリストからグローバルを選択します。
関連ページ:
File Watchers
File Watcher は PyCharm ツールであり、IDE でファイルを変更または保存するときに、コンパイラー、フォーマッタ、リンターなどのコマンドラインツールを自動的に実行できます。File Watchers には 2 つの専用コードインスペクションがあります。ファイル監視使用可能インスペクションは、定義済みの File Watcher が適用可能なすべてのファイルで実行されます。プロジェクトに関連する File Watcher が設定されていない場合、PyCharm は追加することを提...
新規ウォッチャーダイアログ
File Watchers ページの追加または編集ボタンをクリックすると、ダイアログが開きます。このダイアログを使用して、定義済みの PyCharm File Watcher テンプレートに基づいてプロジェクト File Watcher を作成したり、既存のプロジェクト File Watcher を編集したりします。各テンプレートには、選択したツールに最適な設定が含まれています。ほとんどの場合、必要なのは、ツールの実行可能ファイルへのパスを指定することだけです。名前:名前フィールドに、File...
ファイルのネスト規則
同じ名前だが接尾辞が異なるファイルの表示を設定できます。このようなファイルの束は、プレーンな構造として表示することも、親ファイルを子ファイルを含むフォルダー (ネスト) として表示することもできます。このようなファイルの束は、たとえば Angular を使用している場合、フレームワーク固有のプロジェクトに表示されることがあります。ファイルのネストを調整するプロジェクトツールウィンドウ () で、をクリックして外観を選択し、次にファイルのネストを選択します。ファイルのネスト規則を構成できるダイアログが...
プラグインのインストール
プラグインは PyCharm のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains マーケット...
スコープとファイルの色
スコープは、プロジェクト内のファイルとフォルダーのグループです。スコープを使用して、さまざまな IDE ビューでプロジェクト項目を視覚的に区別し、特定の操作の範囲を制限できます。スコープは、プロジェクト内のファイルを論理的に編成するように設計されています。テストソースはテスト関連のスコープに移動でき、製品コードは製品ファイルのスコープに関連付けることができます。これらの論理チャンクにより、プロジェクトの管理が容易になります。例: テスト関連のインスペクションをテストクラスでのみ実行すると、アプリ...
Meteor
Meteor は、クライアント側とサーバー側の両方で JavaScript を使用できるようにするフルスタックフレームワークです。PyCharm は Meteor と統合されているため、IDE 内から使用できます。PyCharm での Meteor のサポートには次のものが含まれます。.meteor フォルダーを検出し、プロジェクトから .meteor/local フォルダーを除外することで、Meteor プロジェクトを自動認識します。詳細については、除外されたファイルを隠すを参照してください。定義済み...