npxとは何ですか?

今日私は反応について学びたい、例を開いてコードを実行したい:

npx create-react-app my-app

npxコマンドは上記のコードに含まれています。このコマンドを初めて見たとき、私は怖いのですぐにBaiduに行き、このコマンドが何であるかを確認しました。

npmバージョン5.2以降、npxコマンドが追加されました。ノードにはnpmモジュールが付属しているため、npxコマンドを直接使用できます。

プロジェクトによってインストールされたモジュールを呼び出す

npxが解決したい主な問題は、プロジェクト内にインストールされたモジュールを呼び出すことです。たとえば、テストツールMochaはプロジェクト内にインストールされます。

$ npm install -D mocha

一般的に、Mochaの呼び出しは、プロジェクトスクリプトとpackage.jsonのスクリプトフィールドでのみ実行できます。コマンドラインから呼び出す場合は、次のようにする必要があります。

# 项目的根目录下执行
$ node-modules/.bin/mocha --version

npxはこの問題を解決し、プロジェクト内にインストールされたモジュールをより使いやすくしたいので、次のように呼び出します。

$ npx mocha --version

npxの原理は非常に単純です。実行すると、node_modules / .binパスと環境変数$ PATHに移動して、コマンドが存在するかどうかを確認します。

npxは環境変数$ PATHをチェックするので、システムコマンドを呼び出すこともできます。

モジュールをグローバルにインストールしない

npxは、プロジェクトの内部モジュールを呼び出すだけでなく、グローバルにインストールされたモジュールを回避することもできます。たとえば、create-react-appモジュールはグローバルにインストールされ、npxはグローバルにインストールしなくても実行できます。

$ npx create-react-app my-react-app

上記のコードが実行されると、npxはcreate-react-appを一時ディレクトリにダウンロードし、使用後に削除します。そのため、今後上記のコマンドを再度実行すると、create-react-appが再度ダウンロードされます。

グローバルモジュールをダウンロードするときに、npxを使用してバージョンを指定できます。

$ npx [email protected] main.js -o ./dist/main.js

上記のコードは、3.1.0バージョンのuglify-js圧縮スクリプトを使用することを指定しています。

npxの背後にあるモジュールがローカルで見つからない限り、同じ名前のモジュールがダウンロードされることに注意してください。たとえば、http-serverモジュールがローカルにインストールされていない場合、次のコマンドはモジュールを自動的にダウンロードし、現在のディレクトリでWebサービスを開始します。

$ npx http-server

現在使用されていない使用法が他にもいくつかあるので、最初にそれらを書きません。

おすすめ

転載: www.cnblogs.com/gruguy/p/12690639.html