Webパフォーマンスの最適化は、すべてのWebアプリケーション開発者が注意を払う主要な問題です。 Gruntなどのタスクランナーは、開発プロセスで重要な役割を果たします。これは、このチュートリアルの焦点でもあります。 AngularJSアプリケーションを安全に圧縮できるようにするために、さまざまなグラントプラグインを使用します。 Angularjsと圧縮について議論する前に、すべてのスキルレベルの開発者がこのチュートリアルの恩恵を受けることができることを強調したいと思いますが、Gruntの基本を持っている方が良いです。この記事では、Gruntを使用して新しいフォルダーを生成するため、Grunt初心者はそれがどのように機能するかをよく理解することもできます。
キーポイント
-
グラントオートメートコードのステッチと圧縮などのタスクランナーは、開発中のページ速度を最適化します。 Gruntプラグインは、AngularJSアプリケーションを安全に圧縮できるようにします。
- デフォルトでは、AngularJSアプリケーションは圧縮できず、配列構文で記述する必要があります。 uglifyjsが実行されている場合、パラメーターの名前を変更しますが、配列にdiアノテーションの存在により変更されないようになり、変更されたパラメーターが必要な依存関係に依然としてアクセスできるようにします。
- グラントは、AngularJSアプリケーションの注釈、スプライシング、および圧縮プロセスを自動化するために使用できます。必要なプラグインをインストールし、「Package.json」ファイルを読み取るためにGruntを構成した後、タスクはロードされて登録されます。次に、プラグインを構成して特定のファイルを見つけます。
- Gruntは、エラーをキャプチャおよび防止するタスクを自動化することにより、より安全な角度コードを作成するのに役立ちます。ファイルが保存されるたびにコードでユニットテストを実行して、すぐに開発者にエラーアラートを送信できます。自動化により時間を節約し、重要なタスクが無視されないようにします。
$http
var form = angular.module('ControllerOne', []) form.factory('Users', ['$http', function($http) { return { get: function() { return $http.get('/api/users'); }, create: function(userData) { return $http.post('/api/users', userData); }, delete: function(id) { return $http.delete('/api/users/' + id); } }; }]); form.controller('InputController', ['$scope', '$http', 'Users', function($scope, $http, Users) { formData = {}; $scope.createUser = function () { if ($scope.formData != undefined) { Users.create($scope.formData) .success(function (data) { $scope.users = data; $scope.formData = {}; $scope.myForm.$setPristine(true); }); } }; }]);
crud.config
アレイ表記の動作
var form = angular.module('ControllerTwo', []) form.factory('Users', function($http) { return { get: function() { return $http.get('/api/users'); }, create: function(userData) { return $http.post('/api/users', userData); }, delete: function(id) { return $http.delete('/api/users/' + id); } }; }); form.controller('InputController', function($scope, $http, Users) { formData = {}; $scope.createUser = function() { if ($scope.formData != undefined) { Users.create($scope.formData) .success(function(data) { $scope.users = data; $scope.formData = {}; $scope.myForm.$setPristine(true); }); } }; });上記のように、
アレイ表記は、コード圧縮を安全にする上で重要な役割を果たすDIアノテーションから始まります。 uglifyjsが実行されると、パラメーターをそれぞれ$scope
および$http
およびa
に変更します。アレイに文字列として渡されたDIアノテーションの存在は、それらが名前が変更されるのを防ぎます。したがって、これらの変更されたパラメーターは、必要な依存関係に依然としてアクセスできます。これらの注釈が存在しない場合、コードは壊れます。ご覧のとおり、この方法で手動でコードを記述することは非常に非効率的です。これを避けるために、Gruntを使用して完全に最適化された方法でAngularJSアプリケーションを注釈、スプライス、および圧縮する方法を紹介し、それらを生産の準備をします。 b
grunt を使用します
プロジェクトのリポジトリ全体は、GitHubで見つけることができます。 Gruntの使用に慣れている人のために、独自のビルドを継続して作成したり、既存のプロジェクトにこのコードを追加したりできます。空のディレクトリを使用している場合は、ディレクトリに「package.json」ファイルがあることを確認する必要があります。このファイルは、コマンドを実行して作成できます。プロジェクトに「package.json」ファイルがあると、次のコマンドを実行してプラグインをダウンロードできます。
npm init
var form = angular.module('ControllerOne', []) form.factory('Users', ['$http', function($http) { return { get: function() { return $http.get('/api/users'); }, create: function(userData) { return $http.post('/api/users', userData); }, delete: function(id) { return $http.delete('/api/users/' + id); } }; }]); form.controller('InputController', ['$scope', '$http', 'Users', function($scope, $http, Users) { formData = {}; $scope.createUser = function () { if ($scope.formData != undefined) { Users.create($scope.formData) .success(function (data) { $scope.users = data; $scope.formData = {}; $scope.myForm.$setPristine(true); }); } }; }]);
-
grunt-contrib-concat
-
grunt-contrib-uglify
-
grunt-ng-annotate
ng-annotateはうなり声を上げることなく使用できますが、シームレスなグラントがコードを注釈、スプライシング、圧縮するプロセスをどのようにするかをすぐに見るでしょう。 AngularJSコードを圧縮するためのシンプルで効果的なソリューションを提供します。このプロジェクトをゼロから追跡している場合は、プロジェクトルートディレクトリにgruntfile.jsを使用する必要があります。これには、すべてのグラントコードが含まれます。まだ行っていない場合は、今すぐ作成してください。
圧縮セーフコードを生成するための3つのステップ
ステップ1 - 「package.json」ファイルを読むようにgruntを構成します
以前にインストールしたプラグインにアクセスするには、最初にgruntfileのプロパティを構成して、「package.json」ファイルの内容を読み取る必要があります。
オブジェクトは、グラントラッパー関数の上部から始まり、次の例で3行目から5行目に拡張されますが、すぐにほとんどのコードが含まれます。
pkg
config
var form = angular.module('ControllerTwo', []) form.factory('Users', function($http) { return { get: function() { return $http.get('/api/users'); }, create: function(userData) { return $http.post('/api/users', userData); }, delete: function(id) { return $http.delete('/api/users/' + id); } }; }); form.controller('InputController', function($scope, $http, Users) { formData = {}; $scope.createUser = function() { if ($scope.formData != undefined) { Users.create($scope.formData) .success(function(data) { $scope.users = data; $scope.formData = {}; $scope.myForm.$setPristine(true); }); } }; });
「Package.json」ファイルを読むようにGruntを構成した後、Gruntがアクセスできるようにプラグインをロードする必要があります。これは、プラグインの名前を文字列としてgrunt.loadNpmTask()
に渡すことによって行われます。これらのプラグインがラッパー関数の内側にロードされていることを確認してください。これらの条件が満たされない場合、Gruntは適切に機能しません。次に行う必要があるのは、特定のターゲットなしでグラントが呼び出されたときに実行されるデフォルトタスクを作成することです。構成に応じて実行されるため、これらのタスクが追加される順序に注意する必要があります。ここでは、ngannotateは最初に実行するように構成されています。次にconcatとuglifyjsを構成します。これは、コードを構築するための最良の方法だと思います。また、プラグインがロードされた後にを配置する必要があることを覚えておくことが重要です。私たちが今まで議論したことに基づいて、gruntfile.jsは次のようになるはずです:
config
ステップ3 - プラグインの構成grunt.registerTask()
var form = angular.module('ControllerOne', []) form.factory('Users', ['$http', function($http) { return { get: function() { return $http.get('/api/users'); }, create: function(userData) { return $http.post('/api/users', userData); }, delete: function(id) { return $http.delete('/api/users/' + id); } }; }]); form.controller('InputController', ['$scope', '$http', 'Users', function($scope, $http, Users) { formData = {}; $scope.createUser = function () { if ($scope.formData != undefined) { Users.create($scope.formData) .success(function (data) { $scope.users = data; $scope.formData = {}; $scope.myForm.$setPristine(true); }); } }; }]);ngannotate
GruntFileの準備が整ったので、
という名前の新しいフォルダーに生成します。構成が完了したら、
を実行して、コードの生成方法を確認できます。さらに、Grunt-ng-AnnotateのGithubページにアクセスして、指定できるさまざまなオプションを確認できます。
config
spApp
splitpublic/js
public/min-safe
新しいアノテーションを備えたAngularJSコードを備えたフォルダーを生成したので、このコードを単一のファイルにコンパイルまたはスプライシングしても、続行しましょう。 Ngannotateのセクションを作成したのと同じように、ConcatとUglifyjsについても同じことを行います。 ngannotateと同様に、両方のタスクはターゲット、この場合はgrunt ngAnnotate
を受け入れます。これらのタスクに多くの構成オプションを渡すことができますが、正しいファイルを指すように
var form = angular.module('ControllerTwo', []) form.factory('Users', function($http) { return { get: function() { return $http.get('/api/users'); }, create: function(userData) { return $http.post('/api/users', userData); }, delete: function(id) { return $http.delete('/api/users/' + id); } }; }); form.controller('InputController', function($scope, $http, Users) { formData = {}; $scope.createUser = function() { if ($scope.formData != undefined) { Users.create($scope.formData) .success(function(data) { $scope.users = data; $scope.formData = {}; $scope.myForm.$setPristine(true); }); } }; });を指定するだけです。ご想像のとおり、これらのプラグインは、ファイルの内容を
オブジェクトに渡され、
の後に指定されたフォルダーに処理します。ここで何が起こっているのかを理解してみましょう。これをテストすることができます端末で実行すると、js
が作成されるはずです。 src
var form = angular.module('ControllerOne', []) form.factory('Users', ['$http', function($http) { return { get: function() { return $http.get('/api/users'); }, create: function(userData) { return $http.post('/api/users', userData); }, delete: function(id) { return $http.delete('/api/users/' + id); } }; }]); form.controller('InputController', ['$scope', '$http', 'Users', function($scope, $http, Users) { formData = {}; $scope.createUser = function () { if ($scope.formData != undefined) { Users.create($scope.formData) .success(function (data) { $scope.users = data; $scope.formData = {}; $scope.myForm.$setPristine(true); }); } }; }]);
圧縮
私たちがする必要がある最後のことは、コードを圧縮してコードから役に立たないスペースを削除することです。これは、uglifyjsプラグインが登場する場所です。 uglifyjsを使用する場合、Gruntがアプリケーションを圧縮する最終プロセスを完了する必要があります。したがって、すべての新しいスプライシングコード、この場合はpublic/min/app.js
を含むファイルを見つけたいと思います。これをテストするには、grunt uglify
を実行し、新しく圧縮されたファイルを表示します。以下は、このタスクの関連する構成です。
var form = angular.module('ControllerTwo', []) form.factory('Users', function($http) { return { get: function() { return $http.get('/api/users'); }, create: function(userData) { return $http.post('/api/users', userData); }, delete: function(id) { return $http.delete('/api/users/' + id); } }; }); form.controller('InputController', function($scope, $http, Users) { formData = {}; $scope.createUser = function() { if ($scope.formData != undefined) { Users.create($scope.formData) .success(function(data) { $scope.users = data; $scope.formData = {}; $scope.myForm.$setPristine(true); }); } }; });を実行するだけで、コードが注釈、スプライシング、圧縮されます。
grunt
この短いチュートリアルでは、アレイ表記をよく理解できることと、AngularJSアプリケーションの圧縮を安全にすることが不可欠である理由を願っています。 Gruntが初めての場合は、多くの時間を節約できるため、これらのプラグインだけでなく他のプラグインを試すことを強くお勧めします。いつものように、以下にコメントしてください。ご質問がある場合は、プロフィールのアドレスにメールしてください。
グラント付きの圧縮セーフ角度コードのFAQ(FAQ)(元のテキストと同じFAQパーツをここに含める必要がありますが、言語はより滑らかで自然です)
以上がグラント付きの最小セーフ角度コードまで5分の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

10の楽しいjQueryゲームプラグインして、あなたのウェブサイトをより魅力的にし、ユーザーの粘着性を高めます! Flashは依然としてカジュアルなWebゲームを開発するのに最適なソフトウェアですが、jQueryは驚くべき効果を生み出すこともできます。また、純粋なアクションフラッシュゲームに匹敵するものではありませんが、場合によってはブラウザで予期せぬ楽しみもできます。 jquery tic toeゲーム ゲームプログラミングの「Hello World」には、JQueryバージョンがあります。 ソースコード jQueryクレイジーワードコンポジションゲーム これは空白のゲームであり、単語の文脈を知らないために奇妙な結果を生み出すことができます。 ソースコード jquery鉱山の掃引ゲーム

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

このチュートリアルでは、jQueryを使用して魅惑的な視差の背景効果を作成する方法を示しています。 見事な視覚的な深さを作成するレイヤー画像を備えたヘッダーバナーを構築します。 更新されたプラグインは、jQuery 1.6.4以降で動作します。 ダウンロードしてください

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

Matter.jsは、JavaScriptで書かれた2D Rigid Body Physics Engineです。このライブラリは、ブラウザで2D物理学を簡単にシミュレートするのに役立ちます。剛体を作成し、質量、面積、密度などの物理的特性を割り当てる機能など、多くの機能を提供します。また、重力摩擦など、さまざまな種類の衝突や力をシミュレートすることもできます。 Matter.jsは、すべての主流ブラウザをサポートしています。さらに、タッチを検出し、応答性が高いため、モバイルデバイスに適しています。これらの機能はすべて、物理ベースの2Dゲームまたはシミュレーションを簡単に作成できるため、エンジンの使用方法を学ぶために時間をかける価値があります。このチュートリアルでは、このライブラリのインストールや使用法を含むこのライブラリの基本を取り上げ、

この記事では、JQueryとAjaxを使用して5秒ごとにDivのコンテンツを自動的に更新する方法を示しています。 この例は、RSSフィードからの最新のブログ投稿と、最後の更新タイムスタンプを取得して表示します。 読み込み画像はオプションです


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ホットトピック



