我刚刚开始学习React, Facebook通过提供以下现成的项目来帮助简化初始设置。
如果我必须安装框架项目,我必须在命令行中键入npx create-react-app my-app。
我想知道为什么Facebook在Github有npx create-react-app my-app而不是npm create-react-app my-app?
我刚刚开始学习React, Facebook通过提供以下现成的项目来帮助简化初始设置。
如果我必须安装框架项目,我必须在命令行中键入npx create-react-app my-app。
我想知道为什么Facebook在Github有npx create-react-app my-app而不是npm create-react-app my-app?
当前回答
简单的定义:
Javascript包管理器
npx -执行npm包的二进制文件
其他回答
NPX:
从https://www.futurehosting.com/blog/npx-makes-life-easier-for-node-developers-plus-node-vulnerability-news/:
Web developers can have dozens of projects on their development machines, and each project has its own particular set of npm-installed dependencies. A few years back, the usual advice for dealing with CLI applications like Grunt or Gulp was to install them locally in each project and also globally so they could easily be run from the command line. But installing globally caused as many problems as it solved. Projects may depend on different versions of command line tools, and polluting the operating system with lots of development-specific CLI tools isn’t great either. Today, most developers prefer to install tools locally and leave it at that. Local versions of tools allow developers to pull projects from GitHub without worrying about incompatibilities with globally installed versions of tools. NPM can just install local versions and you’re good to go. But project specific installations aren’t without their problems: how do you run the right version of the tool without specifying its exact location in the project or playing around with aliases? That’s the problem npx solves. A new tool included in NPM 5.2, npx is a small utility that’s smart enough to run the right application when it’s called from within a project. If you wanted to run the project-local version of mocha, for example, you can run npx mocha inside the project and it will do what you expect. A useful side benefit of npx is that it will automatically install npm packages that aren’t already installed. So, as the tool’s creator Kat Marchán points out, you can run npx benny-hill without having to deal with Benny Hill polluting the global environment. If you want to take npx for a spin, update to the most recent version of npm.
npm - JavaScript包管理器,就像:pip (Python), Maven (Java), NuGet (.NET), Composer (PHP), RubyGems (Ruby),…
NPX—运行包的命令而不显式地安装它。
用例:
您不希望既全局安装包,也不希望在本地安装包。 您没有全局安装它的权限。 只是想测试一些命令。 有时,您希望在包中有一个脚本命令(生成、转换某些东西……)。Json来执行一些东西,而不需要将这些包作为项目的依赖项安装。
语法:
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
更多关于命令的内容:
https://docs.npmjs.com/files/package.json#bin https://github.com/mishoo/UglifyJS2/blob/master/package.json#L17
另一方面,npx使用的包并不是全局安装的,所以你必须担心长期的污染。
简单的定义:
Javascript包管理器
npx -执行npm包的二进制文件
简单地说,npm就是节点包管理器 NPX是运行NPM包的可执行版本