npxとnpmの違いは?質問する

npxとnpmの違いは?質問する

私はReactを学び始めたばかりですが、Facebookは初期設定を簡素化するために次の既成プロジェクト

スケルトン プロジェクトをインストールする必要がある場合は、npx create-react-app my-appコマンド ラインで入力する必要があります。

Github の Facebook にはnpx create-react-app my-appではなく があるのはなぜだろうと思いましたnpm create-react-app my-app

ベストアンサー1

npx の紹介: npm パッケージ ランナー

NPM-パッケージを管理しますが、実行は簡単ではありません。 - Node パッケージを実行する
NPXためのツール。

NPXNPMバージョンにバンドルされています5.2+

NPM単独では、単純にパッケージを実行するわけではありません。実際のところ、パッケージは実行されません。NPM を使用してパッケージを実行する場合は、ファイルでそのパッケージを指定する必要がありますpackage.json

実行可能ファイルが NPM パッケージ経由でインストールされると、NPM はそれらにリンクします。

  1. ローカル./node_modules/.bin/インストールでは、ディレクトリに「リンク」が作成されます。
  2. グローバルインストールには、Linux の場合はグローバルbin/ディレクトリ (例)、 Windows の場合は から作成された「リンク」があります。/usr/local/bin%AppData%/npm

読むべきドキュメント


国立博物館:

特定のプロジェクトにパッケージをローカルにインストールする場合があります。

npm install some-package

ここで、NodeJS でコマンドラインからそのパッケージを実行するとします。

$ some-package

上記は失敗しますグローバルにインストールされたパッケージのみ、名前のみを入力して実行できます。

これを修正して実行するには、ローカル パスを入力する必要があります。

$ ./node_modules/.bin/some-package

ファイルを編集し、そのセクションpackages.jsonにそのパッケージを追加することで、技術的にはローカルにインストールされたパッケージを実行できます。scripts

{
  "name": "whatever",
  "version": "1.0.0",
  "scripts": {
    "some-package": "some-package"
  }
}

次にスクリプトを実行します。npm run-script(またはnpm run):

npm run some-package

NP:

npx<command>は、またはローカル プロジェクト バイナリに存在するかどうかを確認し$PATH、それを実行します。したがって、上記の例では、ローカルにインストールされたパッケージを実行したい場合は、some-package次のように入力するだけです。

npx some-package

のもう一つの大きな利点はnpx、以前にインストールされていなかったパッケージを実行できることです。

$ npx create-react-app my-app

上記の例では、コマンドが実行されたパス内にreactアプリのボイラープレートが生成され、使用するたびにアップグレードする必要なく、常に最新バージョンのジェネレーターまたはビルド ツールが使用されるようになります。


ユースケースの例:

npxコマンドは、一般的に使用されない依存関係を定義したくない場合やその他の理由で、ファイルscriptのセクションで役立つ場合があります。package.json

"scripts": {
    "start": "npx [email protected]",
    "serve": "npx http-server"
}

電話をかける:npm run serve


関連する質問:

  1. node_modules にローカルにインストールされたパッケージを使用するにはどうすればいいですか?
  2. NPM: ./node_modules/.bin フォルダーをソースする方法は?
  3. npm スクリプトを使用して js ファイルを実行するにはどうすればよいですか?

おすすめ記事