TL;DR:
👉 npx xxx
👉 yarn create
👉 npm init
以 create-react-app 为例, 文档提供三种创立应用程序的计划:
npx create-react-app my-app
npm init react-app my-app
yarn create react-app my-app
都好用,为啥呢?
npx
NPM (Node Package Manager) and NPX (Node Package Executor)
NPX 是包的执行器。试一下~
// npx cowsay 亖混子
npx: 41 装置胜利,用时 6.739 秒
_______________
< 亖混子 >
---------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
用处一、以简短的形式执行本地包的命令
若执行我的项目依赖包的执行文件,须要键入以下内容:$ ./node_modules/.bin/jest
; 若应用 npx
将会十分简洁 $ npx jest
用处二、一次性执行全局模块命令
有些全局包如 create-react-app 应用频率低,在须要时用 npx
即可。比照全局装置,可保障应用最新版本
$ npx create-react-app my-react-app
yarn create
用 create-*
的包疾速创立我的项目。
应用形式 yarn create <starter-kit-package> [<args>]
命令底层做了两件事件:
- 全局装置 starter-kit-package 包,若本地已存在,尝试更新到最新版本
- 运行包的可执行文件
yarn create react-app my-app
和上面的脚本等价
$ yarn global add create-react-app
$ create-react-app my-app
npm init
用 create-*
包疾速创立我的项目。和 yarn create
的作用和操作齐全一样
npm init react-app my-app
等同于 yarn create react-app my-app
比照
npm init
和 yarn create
均利用包名规定 create-*,先全局下载、再执行
npx xxx
没有包名束缚,长期下载、执行后删除
三者成果一样,均应用最新包执行命令