探索npx:npm的替代方案

JavaScript开发中,npm是开发者们常用的包管理器。然而,随着npm@5.2.0版本的发布,一个新的工具npx也随之问世。本文将探讨npx是什么,它与npm有何不同,以及使用npx的优势。

在创建React应用时,可以使用create-react-app命令快速搭建。在查阅官方GitHub文档时,会发现可以使用npx或npm来执行此操作。这引发了一个问题:npx是什么,它与npm有何不同?

要做什么

将创建两个应用,并在这两个应用中安装mocha包以运行测试。如果不熟悉mocha,访问其可能会有所帮助。

使用mocha-example-npm应用

首先,创建一个名为mocha-example-npm的新文件夹,并在代码编辑器(如Visual Studio Code)中打开它。然后,可以通过运行以下命令来安装mocha:

npm install mocha

接下来,创建一个名为test的文件夹,并在其中创建一个名为test.js的文件,然后粘贴以下测试代码:

var assert = require('assert'); describe('Array', function() { describe('#indexOf()', function() { it('should return -1 when the value is not present', function() { assert.equal([1, 2, 3].indexOf(4), -1); }); }); });

运行测试时,发现mocha命令无法识别。为了解决这个问题,有以下三种选择:

  • 全局安装mocha,以便命令可以全局识别。
  • 使用node_modules中的mocha路径。
  • 在package.json文件中配置测试脚本。

使用mocha-example-npx应用

理解了使用npm时遇到的问题后,尝试使用npx代替npm。打开文件夹并运行npx mocha命令。然而,发现它试图找到测试文件夹,但没有找到任何测试文件。

接下来,创建一个名为test的文件夹,并在其中创建一个名为test.js的文件,然后运行npx mocha命令。这次,看到了测试通过的结果。

npx是什么

npx是一个npm包运行器,它允许直接从npm注册表中使用包,而无需将其安装到项目中。这有什么好处呢?例如,可以使用Create-React-App快速创建React应用,但一旦创建完成,就不再需要它了。如果使用npm,必须先全局或本地安装这个包,否则会报错。

npx的优势在于,它可以减少node_modules文件夹的大小。它足够智能,能够识别尝试从npm注册表获取的包是否已经在机器上,无论是全局还是本地。如果包在机器上,它将从那里获取。

本文介绍了npx的用途、优势以及如何使用npx代替npm来执行包管理任务。希望这篇文章对有所帮助。如果有任何建议或反馈,请在评论部分留言。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485