gpt4 book ai didi

javascript - npx 和 npm 的区别?

转载 作者:IT老高 更新时间:2023-10-28 13:11:47 24 4
gpt4 key购买 nike

我刚刚开始学习 React,Facebook 通过提供 following ready-made project 来帮助简化初始设置.

如果我必须安装骨架项目,我必须输入 npx create-react-app my-app在命令行中。

我想知道为什么 Github 中的 Facebook 有 npx create-react-app my-app而不是 npm create-react-app my-app ?

最佳答案

Introducing npx: an npm package runner

NPM - 管理并没有让生活变得轻松执行任何。
NPX - 执行节点包的工具。

NPX comes bundled with NPM version 5.2+

NPM它本身并不简单地运行任何包。事实上,它不运行任何包。如果你想使用 NPM 运行一个包,你必须在你的 package.json 中指定那个包。文件。

当通过 NPM 包安装可执行文件时,NPM 会链接到它们:

  1. 本地 安装在 ./node_modules/.bin/ 创建了“链接”目录。
  2. 全局 安装具有从全局 bin/ 创建的“链接” Linux 或 /usr/local/bin 上的目录(例如 %AppData%/npm )在 Windows 上。

Documentation you should read


NPM:

可能会在某个项目上本地安装一个包:

npm install some-package

现在假设您希望 NodeJS 从命令行执行该包:

$ some-package

以上将失败。只有全局安装的包可以通过键入它们的名称来执行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:

npx将检查是否 <command>存在于 $PATH ,或在本地项目二进制文件中,并执行它。所以,对于上面的例子,如果你想执行本地安装的包some-package您需要做的就是输入:

npx some-package

npx 的另一个主要优势是执行以前未安装的包的能力:

$ npx create-react-app my-app

以上示例将生成 react app 样板命令运行的路径内,并确保您始终使用最新版本的生成器或构建工具,而无需在每次使用时都升级。


用例示例:

npx命令可能对 script 有帮助package.json 的部分文件,当不需要定义可能不常用或任何其他原因的依赖项时:

"scripts": {
"start": "npx gulp@3.9.1",
"serve": "npx http-server"
}

调用:npm run serve


相关问题:

  1. How to use package installed locally in node_modules?
  2. NPM: how to source ./node_modules/.bin folder?
  3. How do you run a js file using npm scripts?

关于javascript - npx 和 npm 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50605219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com