201127 TIL NodeJs npm
NPM
npm init
npm init < initializer > can be used to set up a new or existing npm package.
npm initを実行する場合は、name、description、authorを作成する必要があります.
=>実行後パッケージ.jsonを作成!{
"name": "firstnodeserver",
"version": "1.0.0",
"description": "firstNode",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
},
"author": "Sunny",
"license": "ISC",
}
このようにして作成され、"start":node app.js
がスクリプトに追加されます.npm start
が実行される場合、node app.js
が実行され得る.
startは非常に特別な例で、start-server
などのコマンドを追加する場合は、npm run start-server
などのコマンドを作成する必要があります.
npm Repositoryに存在するモジュールはnpmによってインストールおよび管理される.
npm & packages
npx create-act-app,vue create-appなどもpackageを確認できます.jsonはdependenciesまたはdevDependenciesのkeyをチェックすることができます.これらの友人には、3 rd Party Library、すなわちnpm run
を介してインストールされた外部パッケージモジュールに関する情報が含まれている.
npm Repositoryが受信したモジュールはnpmによってインストールおよび管理される.
^versionと~versionの違い
npm installをインストールすると、バージョンの前に^や~がよく見られます.両者の違いは何ですか.
^ : caret
^version “Compatible with version”, will update you to all future minor/patch versions, without incrementing the major version. ^2.3.4 will use releases from 2.3.4 to <3.0.0.
~ : tilde
~version “Approximately equivalent to version”, will update you to all future patch versions, without incrementing the minor version. ~1.2.3 will use releases from 1.2.3 to <1.3.0.
package.json vs package-lock.json
npm installで3 rdparty libraryをインストールする場合、package.jsonだけじゃなくpackage-lockjsonが一緒にインストールされているのが見えます.
package.jsonは、インストールされた3 rd partyライブラリの最新バージョン、package-lockをインストールできます.jsonでは、3 rdpartyライブラリのプロジェクトインストール時のバージョンを覚えて、呼び出されてもエラーが発生しないようにライブラリを後で更新できます.
依存ツリーに関する情報があり、ファイル(package-lock.json)が生成時に依存ツリーを再生成することを確認します.
Global Features vs Core Modules vs Third-party modules
Global Features
他のインストールやインポートなしで使用できる
Core Modules
fs、httpなど、インポート後に使用できる機能
Third-party modules
npm installでインストールしたり、importで使用したりできます.
--save、--save-dev、-gなど、多くのオプションがあります.
nodemon : nodeapp.jsが実行時にコードが変化すると、サードパーティモジュールは自動的に再実行されます.
Types of Errors
{
"name": "firstnodeserver",
"version": "1.0.0",
"description": "firstNode",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
},
"author": "Sunny",
"license": "ISC",
}
Reference
この問題について(201127 TIL NodeJs npm), 我々は、より多くの情報をここで見つけました https://velog.io/@sunnysideup0w0/201127-TIL-NodeJs-npmテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol