ホームページ >ウェブフロントエンド >jsチュートリアル >ブーツをgruntにしてください! NPMをビルドツールとして使用するためのガイド
Grunt、Gulp、Broccoli、Jakeなど、多くのフロントエンドビルドおよびワークフローツールが存在します。 これらのツールは、模倣、連結、テスト、コードコンパイルなどの繰り返しプロジェクトタスクを自動化します。ただし、別の依存関係を追加するのは不要な場合があります。 組み込みのnode.js代替NPMは、これらのタスクの多くを効果的に処理します。この記事では、NPMのビルドツールとしての機能について説明します。 NPM初心者については、入門ガイドをご覧ください。コードの例はgithubで入手できます。
NPMをビルドツールとして使用することの重要な利点:
package.json
簡略化されたビルドプロセス:プロンプトに応答するか、スキップします。 コンテンツを次のように置き換えます
package.json
オブジェクトはコマンドを定義します。 利用可能なスクリプトをnpm init
にリストします。
<code class="language-bash">$ mkdir ~/buildtool && cd ~/buildtool $ npm init</code>フラグサイレンスnpm出力。
package.json
<code class="language-json">{ "name": "buildtool", "version": "1.0.0", "description": "npm as a build tool", "dependencies": {}, "devDependencies": {}, "scripts": { "info": "echo 'npm as a build tool'" }, "author": "SitePoint", "license": "ISC" }</code>
scripts
最初に、jshint:npm run
を使用してJavaScriptの糸くずを追加しましょう
npm run info
-s
プロジェクトディレクトリ構造の作成:
(unixシステムでは、
>を使用します
<code class="language-bash">$ npm install jshint --save-dev</code>糸くず:
<code class="language-bash">├── assets │ ├── css │ │ └── main.css │ └── scripts │ └── main.js ├── dist ├── package.json ├── node_modules └── test └── test.js</code>コードを追加します(意図的なエラーを使用):
に
mkdir -p assets/css assets/scripts test && touch assets/css/main.css assets/scripts/main.js test/test.js
lintを含める
を実行してコードを並べます。 エラーを修正し、再実行して確認してください
main.js
テスト(MoChaを使用):
<code class="language-javascript">"use strict"; var Author = new function(name){ this.name = name || "Anonymous"; this.articles = new Array(); } Author.prototype.writeArticle = function(title){ this.articles.push(title); }; Author.prototype.listArticles = function(){ return this.name + " has written: " + this.articles.join(", "); }; exports.Author = Author; var peter = new Author("Peter"); peter.writeArticle("A Beginners Guide to npm"); peter.writeArticle("Using npm as a build tool"); peter.listArticles();</code>
Mocha:package.json
をインストールします
<code class="language-json">"scripts": { "info": "echo 'npm as a build tool'", "lint": "echo '=> linting' && jshint assets/scripts/*.js" }</code>
:npm run lint -s
で簡単なテストを作成します
<code class="language-bash">$ mkdir ~/buildtool && cd ~/buildtool $ npm init</code>
テストスクリプトをpackage.json
:
<code class="language-json">{ "name": "buildtool", "version": "1.0.0", "description": "npm as a build tool", "dependencies": {}, "devDependencies": {}, "scripts": { "info": "echo 'npm as a build tool'" }, "author": "SitePoint", "license": "ISC" }</code>
runnpm test -s
。
フック前後のポスト:
テスト前に糸くずを実行するには、pretest
フック:
<code class="language-bash">$ npm install jshint --save-dev</code>
さて、npm test -s
最初にLINTスクリプトを実行します。
コードの縮小:
インストールuglify-js
およびclean-css
:
<code class="language-bash">├── assets │ ├── css │ │ └── main.css │ └── scripts │ └── main.js ├── dist ├── package.json ├── node_modules └── test └── test.js</code>
package.json
:
<code class="language-javascript">"use strict"; var Author = new function(name){ this.name = name || "Anonymous"; this.articles = new Array(); } Author.prototype.writeArticle = function(title){ this.articles.push(title); }; Author.prototype.listArticles = function(){ return this.name + " has written: " + this.articles.join(", "); }; exports.Author = Author; var peter = new Author("Peter"); peter.writeArticle("A Beginners Guide to npm"); peter.writeArticle("Using npm as a build tool"); peter.listArticles();</code>
runnpm run minify:js -s
およびnpm run minify:css -s
。
変更を監視している(watch
を使用して):
インストールwatch
:
<code class="language-json">"scripts": { "info": "echo 'npm as a build tool'", "lint": "echo '=> linting' && jshint assets/scripts/*.js" }</code>
時計スクリプトを追加:
<code class="language-bash">npm install mocha --save-dev</code>
ファイルの変更で自動的に縮小するnpm run watch
ビルドスクリプト:
スクリプトを単一のスクリプトに結合します:build
<code class="language-javascript">var assert = require("assert"); var Author = require("../assets/scripts/main.js").Author; // ... (test code) ...</code>run
。npm run build -s
サーバースクリプト(を使用):http-server
:http-server
<code class="language-json">"scripts": { // ... "test": "echo '=> testing' && mocha test/" }</code>サーバースクリプトを追加:
<code class="language-json">"scripts": { // ... "pretest": "npm run lint -s" }</code>run
。npm run server
結論:
NPMは、専用のビルドツールに強力で柔軟な代替品を提供します。 より単純なプロジェクトのために、グラントまたはガルプに頼る前に、最初にNPMを使用することを検討してください。 以下のFAQSセクションは、さらなる明確化を示します (FAQを含む元の入力の残りの部分は、主に上記の概念の繰り返しであるため、ここではここでは省略されています。コア機能と例は保存されています。)
以上がブーツをgruntにしてください! NPMをビルドツールとして使用するためのガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。