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 サイトの他の関連記事を参照してください。

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

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

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック









