私はラーニングリアクトを始めたばかりで、facebookは次の既製プロジェクトを提供することによって初期設定を単純化するのに役立ちます。
GithubのFacebookアカウントへのリンク: https://github.com/facebook/create-react-app
スケルトンプロジェクトをインストールする必要がある場合は、コマンドラインにnpx create-react-app my-app
と入力する必要があります。
GithubのFacebookアカウントにnpx create-react-app my-app
ではなくnpm create-react-app my-app
があるのはなぜだろうか。
NPM
- 管理パッケージしかしは人生を楽にするものではありません実行中 any。NPX
- 実行中ノードパッケージ用のツール。
NPX
はNPM
バージョン5.2+
にバンドルされています
NPM
は、それ自体では単純にパッケージを実行しません。実際には、パッケージは実行されません。 NPMを使用してパッケージを実行したい場合は、そのパッケージをpackages.json
ファイルに指定する必要があります。
実行可能ファイルがNPMパッケージを介してインストールされると、NPMはそれらにリンクします。
./node_modules/.bin/
ディレクトリに作成された「リンク」を持ちます。bin/
ディレクトリ(例:/usr/local/bin
)から、Windowsの場合は%AppData%/npm
から「リンク」が作成されます。パッケージを特定のプロジェクトにローカルにインストールすることもできます。
npm install some-package
NodeJSにそのパッケージをコマンドラインから実行させたいとしましょう。
$ some-package
上記は fail になります。 グローバルにインストールされた パッケージのみ、それらの名前onlyを入力して実行できます。
これを修正して実行するには、ローカルパスを入力する必要があります。
$ ./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
npx
は、<command>
が$PATH
内にあるのか、ローカルプロジェクトバイナリ内にあるのかをチェックし、それを実行します。したがって、上記の例で、ローカルにインストールされたパッケージsome-package
を実行したい場合は、次のように入力するだけです。
npx some-package
npx
のもう一つの major 利点は、以前にインストールされていなかったパッケージを実行する能力です。
$ npx create-react-app my-app
上記の例では、react
app boilerplate 内が実行されたパスが生成され、常に最新バージョンのジェネレータまたはビルドツールを使用するようになります。これを使って。
npxはnpmパッケージランナーです(xはおそらくeXecuteを表します)。一般的な用途は、一時的にまたは試用のためにパッケージをダウンロードして実行することです。
create-react-appは、プロジェクトのライフサイクルの中で一度だけ実行されることが予想されるnpmパッケージです。したがって、npxを使用して単一ステップでインストールおよび実行することをお勧めします。
https://www.npmjs.com/package/npx に記載されているように、npxはデフォルトでPATH内またはnode_modules/.binからコマンドを実行できます。
注: 少し掘り下げると、create-react-appはJavascriptファイル(おそらくLinuxシステムでは/usr/lib/node_modules/create-react-app/index.js)を指していることがわかります。ノード環境内で実行されます。これは単にいくつかのチェックを行うグローバルツールです。実際の設定はreact-scriptsによって行われ、その最新バージョンはプロジェクトにインストールされています。詳細については https://github.com/facebook/create-react-app を参照してください。
NPX:
Web開発者は自分の開発マシン上に何十ものプロジェクトを持つことができ、各プロジェクトはそれぞれ独自のnpmインストール依存関係のセットを持ちます。数年前、GruntやGulpなどのCLIアプリケーションを扱うための通常のアドバイスは、それらを各プロジェクトにローカルにインストールし、グローバルにもインストールして、コマンドラインから簡単に実行できるようにすることでした。
しかし、グローバルにインストールすることは、それが解決するのと同じくらい多くの問題を引き起こしました。プロジェクトはさまざまなバージョンのコマンドラインツールに依存している可能性があり、多くの開発固有のCLIツールを使用してオペレーティングシステムを汚染することもまたすばらしいことではありません。今日、ほとんどの開発者はツールをローカルにインストールしてそのままにしておくことを好みます。
ローカルバージョンのツールを使用すると、開発者はグローバルにインストールされたバージョンのツールとの非互換性を心配せずにGitHubからプロジェクトを取得できます。 NPMはローカルバージョンをインストールするだけでいいのです。しかし、プロジェクト固有のインストールに問題がないわけではありません。プロジェクト内の正確な場所を指定したり、エイリアスを使ったりしないで適切なバージョンのツールを実行する方法
それがnpxが解決する問題です。 NPM 5.2に含まれる新しいツールのnpxは、プロジェクト内から呼び出されたときに適切なアプリケーションを実行するのに十分スマートな小さなユーティリティです。
たとえば、プロジェクトローカルバージョンのmochaを実行したい場合は、プロジェクト内でnpx mochaを実行すると、期待通りの動作が得られます。
Npxの便利な副次的な利点は、まだインストールされていないnpmパッケージを自動的にインストールすることです。したがって、ツールの作成者KatMarchánが指摘するように、地球環境を汚染しているBenny Hillに対処する必要なしに、npx benny-hillを実行できます。
Npxを試してみたい場合は、最新バージョンのnpmにアップデートしてください。
npx
は明示的にインストールせずにパッケージのコマンドを実行します。
ユースケース
構文:
npx [options] [-p|--package <package>] <command> [command-arg]...
パッケージはオプションです。
npx -p uglify-js uglifyjs --output app.min.js app.js common.js
+----------------+ +--------------------------------------------+
package (optional) command, followed by arguments
例えば:
Start a HTTP Server : npx http-server
Lint code : npx eslint ./src
# Run uglifyjs command in the package uglify-js
Minify JS : npx -p uglify-js uglifyjs -o app.min.js app.js common.js
Minify CSS : npx clean-css-cli -o style.min.css css/bootstrap.css style.css
Minify HTML : npx html-minifier index-2.html -o index.html --remove-comments --collapse-whitespace
Scan for open ports : npx evilscan 192.168.1.10 --port=10-9999
Cast video to Chromecast : npx castnow http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4
command
についての詳細:
これがNPXの実例です。npx cowsay hello
あなたのbash端末にそれをタイプすれば結果がわかるでしょう。これの利点は、npxが一時的にcowsayをインストールしたことです。 cowsayは恒久的にインストールされていないのでパッケージの汚染はありません。これは、パッケージの汚染を避けたい場合に、1回限りのパッケージに最適です。
他の回答で述べたように、npxは(npmで)パッケージをインストールしてから実行前に設定する必要がある場合にも非常に便利です。例えば。 npmを使用してjson.packageファイルをインストールしてから構成し、構成された実行コマンドを呼び出す代わりに、単にnpxを使用します。実際の例:npx create-react-app my-app
NPMはパッケージマネージャです。NPMを使用してnode.jsパッケージをインストールできます。
NPXはnode.jsパッケージを実行するためのツールです。
そのパッケージをグローバルにインストールしてもローカルにインストールしてもかまいません。 NPXは一時的にインストールして実行します。 package.jsonファイルを構成してそれをスクリプト・セクションに含めると、NPMはパッケージを実行することもできます。
ローカルにインストールせずに、あるいはグローバルにNPXを使用してノードパッケージを素早くチェック/実行したい場合は、これを覚えておいてください。
簡単な定義:
npm-Javascriptパッケージマネージャー
npx-npmパッケージバイナリを実行する