NPM使用テクニック

4634 ワード

JavaScript系の開発者であれば、NPMになじみがないはずです.プラットフォームでもあり、ツールでもあります.このプラットフォームでは、他の開発者が提供する機能コードを使って、もちろん私たち自身のコードをここに提出して世界の開発者に共有することもできます.
ツールとしていくつかのNPMの使用テクニックを記録します.
npmrc
npmrcはnpmのプロファイルとして、複数の場所に定義されています.
~/.npmrc ルートディレクトリ、ルートディレクトリ内のすべてのnpmコマンドがこの設定を調べます.
//path/to/npm/npmrc npm内構築配置ファイル
./.npmrc 現在のプロジェクトのルートディレクトリは、現在のプロジェクトに固有の構成を設定するために使用されます.
npmrcは私たちにとって非常に有用です.例えば、username、registry、emailなどの情報を配置することができます.eg:
save=true
save-exact=true
[email protected]
username=wfsovereign
registry=https://registry.npm.taobao.org
npmの最も頭が痛い問題の一つはバージョン番号です.ここにsaveとsave-exact属性が配置されています.これはnpm installコマンドのインストールに依存してpackage.jsonファイルのdependenciesに自動的に保存され、バージョン番号を固定させます.
いくつかの国内のサーバーは壁に囲まれたカバンを引っ張り出していますが、失敗やスピードが遅くなります.この時は淘宝NPMミラーを試してみてもいいです.(これは完全なnpmjs.orgイメージです.これを使って公式バージョン(読み取り専用)の代わりにしてもいいです.同期周波数は現在10分に一回です.できるだけ公式サービスと同期してください.政府はcnpmも注文しました.これは具体的な状況を見て決めました.例えば、以前のプロジェクトでは、マイクロソフトのアッパーの上に配置されていましたが、このサーバーは壁に強いと感じています.公式のnpmライブラリの下でphantomjsのzipファイルを使って運良くいけば、次の二、三回で降ります.その後、この問題を解決するために淘宝鏡像を試しましたが、問題はcnpmを使って、cnpmのカバンで現地でコンパイルできなくなりました.タオバオミラーを使って、すべて正常になりました.
package.jsonpackage.jsonはプロジェクトの構成管理ファイルであり、このプロジェクトに必要な各依存モジュール及びプロジェクトの配置情報(名前、バージョン番号、ライセンスなど)を定義しています.基本的なpackage.jsonnameversionが必要です.
{
    "name": "xxx",
    "version": 0.0.0
}
私たちはnpm initの命令によって初期化してpackage.jsonファイルを作成することができます.
{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "wfsovereign",
  "license": "ISC",
  "devDependencies": {
  },
  "dependencies": {
  }
}
属性別に紹介します.
スクリプトscriptsはスクリプトコマンドのnpmコマンドの略語を定義しています.これらのコマンドを通じて、簡単にプロジェクトを起動したり、テストをしたり、フックを取ったりして、いくつかのコマンドを行う前にあらかじめやっておくことができます.
"scripts": {
     "pretest": "echo \"this is pre test\" ", 
     "test": "echo \"Error: no test specified\"",
     "posttest": "echo \"this is post test\""
  }
npm testを実行すると、次のような出力が得られます.
this is pre test
[email protected] echo「Error:no test specified」
Error:no test specified
[email protected] test echo「this is post test」
this is post test
上記のような実験を通して、prexx命令は前実行命令であり、postxxは後付け命令であり、2人ともxx指令と強い相関があることが分かります.
メーンmainプロジェクトロードの入口ファイルを指定します.デフォルトはルートディレクトリのinde.jsです.
filefileは文字列の配列で、私達が発表したカバンは現在のディレクトリのどのファイルを含むべきかを指定します.これは私達がカバンを発表する時に役に立ちます.もちろんファイルは常に含まれています.設定するかどうかは関係なく、
package.json README CHANGES/CHANGELOG/HISTORY LICENSE/LICENCE NOTICE The file in the「main」field keyworskeywordsは、ライブラリ内で検索する際にどのようなキーワードで検索できるかを指定しているので、一般的には、これは複数の項目に関する単語をここに書くことができます.これは文字列の配列です.
その他の属性の詳細は公式文書を検索できます.
semantic version
意味化されたバージョン番号については、ここでは多く話しません.preferenceを入れます.
npm semver Graavaars semver Nodejsプロジェクトの中で最も一般的なバージョンの標識(*、~、^)は、その意味をよく忘れています.ここにメモしてください.*の任意のバージョン1.0.0指定の1.0.0バージョンをインストールします.
lodash:4.7.0は正確な4.7.0をインストールして私達のnode_に着きます.moduleディレクトリ~1.0.0インストール>=1.0.0が1.(0+1).0の最新バージョン^1.0.0インストール>=1.00以下(1+1).0.0の最新バージョンpackage pblish
どのようにカバンをリリースしますか?npm addUserは、ヒントに従ってアカウントのパスワードを入力し、npmのアカウントを作成します.既存のアカウントがあれば、直接に次のステップに進みます.npm whoamiは、現在のユーザを確認し、現在のユーザを使用して、パケットを発行することを確認する.npm publishはその後、直接発表できます.もちろん、この時には、あなたのカバンや他の人の名前や、現在のカバンのバージョン番号が発表されているなど、様々な問題があります.
バッグのリリースといえば、ここでいくつかの開発バッグのテクニックを記録しています.
私達はカバンを開発する時、いくつかのデバッグを避けられませんが、これらのデバッグの過程は公開したくないです.また、現在の機能が使えることを確保したいです.npm link npm linkの詳細についてはホームページを見てもいいです.ここでは3つの使い方を紹介します.
直接に私達が開発したカバンのメインディレクトリの下で直接使用します.この時、私達はnpm globalのディレクトリの下で現在のカバンをマークしました.npm link package-nameは、グローバルにインストールされたパッケージlinkを我々の現在のディレクトリのnode_にするのに相当する役割をします.module中ですpackage.jsonファイルのdependenciesでは、次のように声明しています.正常に公開されたパッケージを使用してインストールして使用すればいいです.
"dependencies": {
    "bar": "file:../foo/bar"
  }
ps:頑張ってください.風少年のようです.