誰の助けも借りずに快適に暮らすこと。

WBOY
リリース: 2016-08-08 09:32:39
オリジナル
893 人が閲覧しました

Grunt は最近非常に人気がありますが、使用するのは楽しいですが、その構成は非常に面倒です。これまでに使用したことがなく、すぐに使いこなしたい場合は、一定の学習コストがかかり、また、プロジェクトの開始時に、パッケージ化用に軽量ツールの Compiler.jar を選択しました。 。ワンクリックパッケージングツールをどうやって書くかを考えています。以前は、いくつかの js ファイルを、compiler.jar パッケージ ファイルの要件を満たすバッチ ファイルに手動で結合し、このバッチを実行して必要な js および css ファイルを生成していました。 js ファイルの数が増えると、これらのファイルのアドレスを手動で結合することが非常に困難になり、特定のファイルが欠落したり重複したりすることも容易になるため、「ワンクリック パッケージ ツール」の作成が急務になります。以下は実際のindex.htmlファイルの一部です:

リーリー

まだまだたくさんのバグが発生します。生きている人間が放尿して窒息死することはありません。問題よりも解決策が常にあります。 PHP がファイル処理に優れていることは少しだけ知っています。PHP に役割を果たしてもらいましょう。そこで、PHP を使用してインデックス内の js と css を自動的に抽出し、指定された形式でバッチ ファイルを生成し、そのバッチ ファイルをバックグラウンドでサイレント実行し、最後に結果をモニターに返すことを考えました。こうすることで、落ち着いて結果を楽しむことができます。考えるとちょっとワクワクするので、簡単にインターフェイスを書いてみました

次のステップは、関数を実装することです。最初に急いでコードを作成せず、要件を分析してください。

1.index.html ファイルを走査し、js ファイルまたは css ファイルを抽出します。

2. 一部はコメントアウトされており、一部はデバッグに使用されるため、このファイルをフィルターします。

3. 対応するバッチファイルを生成します

4.バッチファイルを実行します

5. 処理結果の表示

2 つの状況があるため、将来的には他のタイプの拡張を容易にするためにファクトリー モードを使用します。長期的な視点を持つ必要があります。ファクトリができたので、あとは別のインターフェイスを追加するだけです。「リクエストの受信」と「結果の出力」の 2 つのインターフェイスを実装する必要があることに同意します。もう一度考えてみましょう。js と css はどちらも同じ機能を持っている可能性があるため、コードを再利用するために親クラスを継承させます。そのため、継承も最初に使用されます。現在のデザインは私の要件を満たしているはずなので、php コードを書き始めました。

リーリー

その後、通話処理:

リーリー

大まかな骨格が出てきます。具体的なコーディングプロセスは比較的単純です。少し難しい方法は、バッチ処理を実行することです。

これはオンラインで提供される方法であり、将来必要になる可能性があるため、ここに投稿します:

リーリー

前のindex.htmlには、人為的に追加したname="noBuild"があります。これは、このロゴでjsファイルをフィルタリングしたいためです。将来、他のファイルをフィルタリングしたい場合にのみ必要です。このロゴを追加するだけです。php コードを変更する必要はありません。内部使用のため、プロジェクトのパスを指定するフォーム項目はありません。デフォルトでは、index.html が配置されている上位ディレクトリがプロジェクト ディレクトリになります。この設計により操作が簡素化され、効率が向上します。

特定のファイルの走査に関しては、非常に簡単な解決策である glob 関数をお勧めします。

リーリー

以下はプロジェクトのディレクトリ構造図です:

別のオペレーションレンダリング:

最後は処理結果の写真です:

最後に、Grunt 設定を書いてノードをインストールする必要がなくなり、更新時に SVN から大量のノードをプルダウンすることを心配する必要がなくなります。

フロントエンドコードを表示するのを忘れたようです:

リーリー

私はフロントエンドもバックエンドも知っているので、とてもわがままです。ワンクリックで心配に別れを告げましょう。独自のツールを作成して、難しい作業は他の人にやってもらうととても簡単です!

上記は、自分で行う方法と十分な食料と衣服の紹介です。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート