プロジェクト内の js と css を圧縮したいとずっと思っていましたが、今日ついにそれが完了しました。
まず、対応するソリューションに影響を与える、注意すべきいくつかの問題について説明します。 1. 圧縮ファイルは古いファイルを直接上書きする必要がありますか? 2. 単一の圧縮ファイルの名前を変更するか、それともディレクトリ全体の名前を変更しますか?同時に、ファイル名は変更されません
3. デプロイメントアクセスと切り替えの問題
4. 圧縮後、git などのリモートウェアハウスにアップロードしますか?
たとえば
C:/js
a.js、 a.css
方法 1、直接上書き、ディレクトリ名とファイル名は変更されません。
方法 2、上書きなし、同じディレクトリ内にあります。
C:/js/a.min.js
方法 3、同じ名前のディレクトリを変更します
C:/js2/a.js
----------------- ------------ ----------
開発プロセス中は非圧縮バージョンの使用に慣れているかもしれませんが、オンラインになった後は圧縮バージョンを使用したくなる場合があります。 。
この記事を書いていると、シーンが多すぎるように感じて、考えるのがとても疲れるので、本当に混乱しています。
-----------------------------
多くの圧縮ツールと方法があります:
方法 1: yuicompress を使用します。 Java、nodejs などのコマンドラインを使用できます。
方法2: yuicompressをベースに淘宝網が改良したと言われているtbcompressを使用します。
方法 3: ソース コードを直接使用して、Java プログラムの圧縮を制御します。
-----------------------------
最後に、私の現在のアプローチについて話させてください。
1.ローカル Java プロジェクトには、圧縮ツール クラスがあります。
a ディレクトリ内のすべての css ファイルと js ファイルを圧縮して、b ディレクトリに配置します
2. a と b の両方を git に送信します
3. 静的リソースの URL は可変です。
frontStaticUrl=http://a.com:80/a
は
frontStaticUrl=http://a.com:80/b に変更できます
これにより、元のファイルと圧縮バージョンの切り替えが実現されます
-- ---- ------------------------
上記の方法は良くありません。
1. 元のファイルが変更された場合、圧縮ファイルを再生成する必要があります。
もちろん、簡単にするために、デプロイメントをオンラインにする必要があると判断された場合にのみ、圧縮が実行され、git に送信されます。
2. プログラムであるため、実行環境に対する要件が高くなります。
たとえば、別のプロジェクトや非 Java プロジェクトも圧縮したい場合、圧縮することはできません。
----------------------------
Wuhan Jiutianniao - 武漢の大手モバイル インターネット システム開発者
Jiutianniao Q&A -http://ask .jiutianniao.com
Jiutianniao ブログ - http://blog.jiutianniao.com
Jiutianniao 公式ウェブサイト - 準備中です、ご期待ください