Import npm Modules: Node.js Development
レクチャーの説明
When you install Node.js, you also get npm. npm is a package manager that allows you to install and use third-party npm libraries in your code. This opens up a world of possibilities, as there are npm packages for everything from email sending to file uploading. In this lesson, you’ll learn how to integrate npm into your Node.js app.
コース全体からもっと学ぶ
The Complete Node.js Developer Course (3rd Edition)
Learn Node.js by building real-world applications with Node JS, Express, MongoDB, Jest, and more!
35:03:06のオンデマンドビデオ • 更新日: 3月 2021
Completely refilmed for 3rd edition
Build, test, and launch Node apps
Create Express web servers and APIs
Store data with Mongoose and MongoDB
Use cutting-edge ES6/ES7 JavaScript
Deploy your Node apps to production
Create real-time web apps with SocketIO
日本語 [自動]
これで、 ファイルシステムモジュールのようなnodeのコアモジュールや、 Node.NETのように作成した他のファイルを読み込むためのnodeモジュールシステムの使い方がわかりましたね。 js. このビデオでは、 NPM パッケージを読み込むためにモジュールシステムを使用する方法を学習します。 これにより、 nodeアプリケーションの内部から、 素晴らしいNPMモジュールをすべて利用できるようになります。 NPMには便利で素晴らしいパッケージが無数にあり、 それをインストールすることで、 ゼロから車輪を作り直す必要はありません。 世の中には、 ほとんどすべてのアプリケーションが必要とすることがあるのです。 例としては、 電子メールのようなデータの検証や、 もしかしたらメールの送信かもしれません。 これらは中核的な機能であり、 アプリケーションがユーザーのために行うことに特化したものではありません。 ですから、 NPMモジュールを使って一般的な問題を解決すれば、 それがnodeコミュニティの標準であり、 開発者の時間をアプリの独自性を高める素晴らしい機能に集中させることができるのです。 そこで、 授業の少し前にNodeをインストールしたときに、 NPMプログラムもマシンにインストールしたことを述べました。 これにより、 午後9時以降のすべてにアクセスできるようになりました。 m. 日本経済新聞に戻ります。 さて、 これらのモジュールを実際にスクリプトで使用する前に、 2つの非常に重要なステップを踏まなければなりません。 1つは、 プロジェクトでNPMを初期化すること、 2つ目は、 実際に使いたいモジュールをすべてインストールすることです。 では、 その様子をご覧いただきましょう。 まず最初に、 プロジェクトでNPMを初期化しましょう。 つまり、 プロジェクトのルートから1つのコマンドを実行する必要があります。 そのルートディレクトリがノートアプリのフォルダなので、 下のターミナルでそこからコマンドを実行していることを確認してください。 確かにそのディレクトリにアクセスしています。 今すぐ 最初にNodeをインストールしたとき、 Vフラグを付けたnodeコマンドで使用しているNodeのバージョンを取得しました。 Nodeをインストールすると、 NPMのコマンドラインツールにもアクセスできるようになります。 Vフラグを付けて実行することで、 実行中のNPMのバージョンを取得することができます。 そして、 ここではバージョン6を使用していることがおわかりいただけると思います。 4. 1. バージョン5以上であれば、 NPMのバージョンは問いません。 だから、 最初の数字が5以上であれば、 それでいいんです。 さて、 ここからはプロジェクトでNPMを初期化する必要がありますが、 プロジェクトのルートから1つのコマンドを実行することで行います。 NPM その中に。 このコマンドは、 私たちのプロジェクトでNPMを初期化するもので、 結局のところ、 何も派手なことをするわけではありません。 これは、 インストールしたい NPM ウェブサイトからの依存関係をすべて管理するために使用できる、 単一の設定ファイルを作成するものです。 そこで、 ここで、 NPMを実行することにします。 今、 何が起こっているのかを正確に伝える情報をたくさん持っています。 結局のところ、 本当に起こっていることは、 NPMが様々なフィールドに情報を入力するために、 この設定ファイルにカスタム回答を入力できるようにすることを求めているということです。 例えば、 最初の情報は、 パッケージの名前だけです。 そこで、 このプロジェクトに何らかの名称をつける。 これで、 デフォルトでノートアプリというフォルダ名が使われるようになりました。 Enterキーを押すだけでこの値を使用するか、 カスタムで何か入力して、 質問するたびにこの値を上書きするかを選択できます。 デフォルトのままにしておきます。 そこで、 パッケージ名があります。 エンターキーを押すだけです。 バージョン、 説明、 エントリポイント、 テスト、 コマンド、 git、 リポジトリ、 キーワード、 作者、 ライセンスがあります。 さて、 これらの分野には、 後で詳しく説明するものがいくつかあります。 テストについてはテストについて調べるときに、 Git リポジトリについてはデプロイメントを設定するときに説明します。 しかし、 これらの分野の多くは、 NPMパッケージを作成する人たちのためのもので、 私たちがやっているのはそれとは異なります。 自分たちでアプリケーションを作り、 NPMパッケージを消費しようとしています。 したがって、 これらの多くの値は、 ここでの目的には重要ではありません。 最後にエンターキーを押せば、 「大丈夫ですか? さて、 具体的にどんなことをしているのでしょうか? さて、 これはパッケージのJSONファイルをノートアプリのディレクトリに書き込もうとしていることを教えてくれています。 この下にあるのは、 まさにこの内容です。 そのファイルに書き込もうとしているのです。 すべて順調のようです。 そのファイルを実際に作成するためにNPMが必要であることを確認するために、 yesと入力します。 そして、 プロジェクトのルートに新しいファイルができました。 割ってみると、 故宮の約束通り、 それが見えてくる。 下のターミナルに出力されたものと全く同じに見えます。 このファイルの拡張子はJSONで、 JavaScriptオブジェクト記法の略である。 そして、 ご覧の通り、 JavaScriptのオブジェクトに少し似ています。 カップルがいます。 クラスを通してジェイソンを使いながら、 微妙な違いを探っていきます。 これからじっくりと取材していくものです。 本当に知っておくべきことは、 シングルクォートではなくダブルクォートを使うことと、 nameやauthorといったプロパティ名をすべて使わなければならないことです。 また、 このように引用符で囲む必要があります。 licenseのようなプロパティ名から引用符を取り除くと、 これはJavaScriptでは有効ですが、 JSONでは無効であることがわかります。 では、 それらを戻してきましょう。 さて、 このファイルは、 アプリケーションの実行に必要なすべての依存関係を管理するために使用される予定です。 ここでは、 起動に使用するすべてのNPMパッケージをリストアップします。 それでは、 NPM JSに移動して、 実際に作業したいパッケージを探してみましょう。 さて、 この例では、 データ検証を行うためのあらゆる種類の素晴らしいツールを提供する、 非常に人気のあるValidatorパッケージをインストールすることにします。 そこで、 このNPMの検索バーで、 Validatorを検索してみることにします。 そして、 その最初の結果であるバリデータパッケージを探しているのです。 さて、 検証用パッケージは他にもあります。 大文字のVもありますよ。 この最初の結果の小文字バリデーターが欲しいのです。 これをクリックすると、 NPMパッケージのページが表示されます。 これは素晴らしいページです。 すべての NPM パッケージには 1 つがあり、 パッケージに関する膨大な情報を提供してくれます。 実際にどう使うかは、 ドキュメントを用意しています。 右側には、 バージョン番号、 GitHubのホームページ、 週間ダウンロード数など、 パッケージに関するさまざまな統計情報が表示されます。 週間100万ダウンロードを突破した大人気パッケージです。 つまり、 Nodeアプリでちょっとした検証を行いたい場合、 2つの方法があるのです。 最初のアプローチは、 すべての検証コードを自分で書くことです。 コードを書き、 それを維持しなければならない。 エッジケースがないように、 テストケースを書いておくといいでしょうね。 そして一般的には、 Nodeが時間とともに進歩するにつれて、 そのコードに追いつく必要があります。 これがオプション1です。 今、 アプリケーションを作るときに、 バリデーションがそのアプリケーションの特徴になるかというと、 そうではないでしょう。 例えば、 ダイエットのためのアプリケーションを作るなら、 何らかの理由があるはずです。 私は、 食事や運動、 習慣のいずれかについて、 人々が以前できなかった方法で減量するのに役立つモデルを持っています。 しかし、 このような基本的な機能の多くには、 よくテストされたNPMパッケージを利用する方がはるかに良い方法です。 今、 私たちはコードを書かないわけではありません。 しかし、 いくつかのことについては、 より安全な方法でそれを実現できる他のパッケージを活用するつもりです。 この場合、 バリデータ・パッケージには、 電子メール、 URL、 電話番号、 社会保障番号、 クレジットカードなど、 あらゆる種類の文字列情報を検証するためのツールが揃っているわけです。 さっそくインストールして、 その動きを見てみましょう。 さて、 ここで重要なのはパッケージ名です。 実際にインストールするためのコマンドは、 ここにあります。 小文字のv validatorが必要なパッケージ名なので、 ターミナルに移動してこれをインストールします。 では、 コマンドを実行したいと思います。 これからもう一度、 このノートアプリのディレクトリから実行します。 それが、 NPM install validatorです。 さて、 ウェブサイトでは、 npm i validatorが使われていることにお気づきでしょう。 それは同じものです。 Iはインストールを意味する略語です。 どちらの方法でもかまいません。 さて、 ここからはインストールするバージョンを具体的に指定していきます。 そこで、 バージョン番号のところで、 現在入手可能な最新のバージョンである10 . 8. 0. この講座では、 常にパッケージやバージョンを指定して、 確認するようにしています。 NPMモジュールは時間とともにAPIが変わるので、 ビデオが常に動作するように、 APIが変わったときのアップデートも含めて、 特定のパッケージにロックすることにしているんだ。 つまり、 ここにあるのが実行したいコマンドです。 さて、 これを実行すると、 どうなるのでしょうか? まあ、 故宮のサーバーに流れていくんですけどね。 そのパッケージのすべてのコードを取得し、 実際にアプリケーションに追加します。 そして、 このコマンドを実行すると、 2つのことが起こったことに気がつくでしょう。 1つは、 パッケージハイフンでロックされたJSONファイルを取得したこと、 2つは、 新しいディレクトリ、 ノードモジュールディレクトリを取得したことです。 両者をざっと見てみましょう。 まずは、 ノードモジュール。 これは、 インストールした依存関係のコードをすべて含むフォルダーです。 では、 これを割ってみると、 何があるのでしょうか? 単一ディレクトリのバリデーターがあります。 それが、 今回インストールしたパッケージです。 それを開くと、 Validatorパッケージのすべてのコードになっています。 さて、 node modules ディレクトリは、 手動で編集してはいけないものです。 バリデータの中に入ってこれらのファイルを実際に変更してはいけません。 この点については、 コースを進めてパッケージ管理についてもっと学んでいく中で詳しく説明します。 Nodeのモジュールを扱うとなると、 NPMのインストールコマンドを実行したときに生成・編集されるだけです。 そこで、 NPM installを使い、 このディレクトリをNPMが管理しています。 パッケージのハイフンロックJSONでも同じことが言えます。 これは、 NPMを少し速く、 少し安全にするための追加情報を含むファイルです。 これは、 すべての依存関係の正確なバージョンと、 それらがどこから取得されたかをリストアップしたものです。 また、 charハッシュを使用することで、 依存関係をインストールしたときに、 以前と同じコードを取得できるようにしています。 今回もNPMがメンテナンスします。 パッケージがインストールされ、 このコマンドを実行したときです。 パッケージのJSONに追加されたくらいです。 dependenciesプロパティには、 依存関係の名前と、 インストールしたバージョンがあります。 これでインストールできたので、 nodeアプリ、 app JSなどのファイルに移動して、 実際にrequireで読み込んで、 NPMパッケージを読み込むために提供される機能のいくつかを利用することができます。 このファイルに2つ目のrequired statementをここに追加します。 先ほどのようにrequireを使って、 実際に文字列を渡してみます。 さて、 これらのコアノードモジュールについては、 ファイルに対してモジュール名をタイプアウトしました。 NPMモジュール用のファイルへの相対パスを提供するために、 フォワードスラッシュで始めることにします。 NPMのパッケージ名をリストアップしています。 つまり、 この場合はValidatorになるわけです。 これはコアノードモジュールで行っていることと同じです。 requireはvalidatorパッケージが提供するすべてのものを返します。 そこで、 validatorのような変数を作成して、 requireから戻ってきた内容を格納することができます。 さて、 あるパッケージの使い方を考えなければならないとき、 そのパッケージがどのように使われることを意図しているのかを知るためには、 ドキュメントに頼らざるを得ません。 結局、 インストールするツールごとにドキュメントを見ることになるんです。 というのも、 ドキュメントには、 あるツールがどのように機能するのか、 あるいは他の使い方を模索するために必要なすべての情報が記載されているからです。 さて、 今回の目的であるNPMパッケージのページには、 このツールのさまざまな使用方法がすべて掲載されています。 バリデーターセクションまでスクロールすると、 メソッドとその動作の説明があります。 いろいろな方法が100種類くらいはあるかもしれませんね。 その方法のひとつがEメールです。 これによって、 与えられたメールが有効かどうかを判断することができ、 実際にそれを利用することになります。 このメソッドは、 オブジェクトであるバリデータに直接アクセスすることができます。 では、 さっそくテストしてみましょう。 コンソールを追加するつもりです。 を呼び出すことで、 ターミナルに出力を出力することができます。 ログを作成し、 consoleの中で関数を呼び出すだけです。 このバリデータは、 emailというメソッド名をドットで表し、 そのメソッド呼び出しに単一の文字列引数を渡すことになります。 それでは、 Andrew at example dot comのように入力してみましょう。 このメールには、 構成要素がすべて含まれているので、 確かに有効なメールであるはずです。 では、 下のターミナルからアプリケーションを実行してみましょう。 クリアコマンドやWindowsのCLSで出力をクリアしてみる。 そして、 NodeをApksで動かしてみる。 そうすると、 何が出てくるか? 5行目から最初の情報を取得し、 7行目から来る真を取得します。 そこで、 ここでは有効な電子メールを紹介します。 では、 それを切り替えてみましょう。 Andrewとアプリの記号を削除して、 example dot comだけにします。 渡された情報が有効なメールでなくなっている。 つまり、 emailがtrueを返すように、 文字列がemailであればfalseを返します。 文字列がそうでない場合。 そして、 そこに行く。 NPMパッケージをインストールし、 それをnodeアプリケーションにロードし、 それを利用して意味のあることをすることができました。 このメソッドを終了する前に、 もう1つメソッドを調べてみましょう。 アルファベット順のリストがありますので、 ISまでスクロールして、 あなたのURLをここに入力してください。 また、 与えられた文字列がURLであるかどうかを判断する方法もあります。 では、 さっそくテストしてみましょう。 削除するのは、 授業の後半で使用するメールです。 is URLに置き換えて、 提供する文字列の値を変えてみる。 それでは、 自分のサイトのurl https colon forward slash forward slash midi iを試してみましょう。 あ、 保存しちゃいますね。 プログラムを再実行すると、 今度は真が出るんです。 今度はそれを台無しにする。 たぶん、 コロンとフォワードスラッシュのどちらかを削除するようなことをすると思います。 もう一度スクリプトを実行してみる。 そして、 何を得るか? 偽物が出る。 これは確かに無効なURLです。 さて、 あるパッケージのドキュメントを活用する場合、 通常は例を見つけるのが一番です。 ドキュメントを読んでも使い方がよくわからないことがありますが、 私たちのプロジェクトの中で、 今やったことと同じような実例があることがわかります。 さて、 ここで2つのバージョンがあることにお気づきでしょうか。 S6とS6がない。 使用するノードコースです。 6は7で、 よりモダンな機能を随所に盛り込んでいます。 ここでの唯一の大きな違いは、 上ではNodeで使っているrequireを使い、 下ではinputキーワードを使った少し変わった構文を使っていることで、 nodeは現在importをサポートしていません。 キーワードのサポートは後日行われる予定ですが、 サポートされた暁には、 それをカバーするセクションを追加するつもりです。 しかし、 今のところnode JSでは、 reuse requireで何かをロードしたいとき。 これは、 パッケージがどのように使用されるかを正確に把握するための素晴らしい例となるでしょう。 今回はそこまでにします。 パッケージをインストールし、 ファイルに必要事項を記入し、 次のビデオで使用することにしました。 課題として、 結局は違うライブラリのために同じことをすることになる。 そこに至るまでが楽しみです。 では、 さっそく次に飛び込んでみましょう。