8 个 npm 的使用技巧
你看一个同事编码,有一个快捷键或技巧被应用,不知何故你不熟悉它,接着你头脑就一片空白。这种事总是发生在我们所有人身上。
在这篇短文中,我将展示一些非常有用的npm技巧。实际上还有很多技巧这里没有涉及到,最好的办法就是选择关注那些与开发人员最相关和有用的资源。
在我们开始之前先介绍基本语法简写
为了让大家保持一致,特别是我们中的一些新来者,让我们快速概述一下基本的语法,并确保没有人会错过任何小事。
安装软件包:
常规方式: npm install pkg, 简写:npm i pkg.
安装全局软件包:
常规方式: npm i --global pkg, 简写: npm i -g pkg.
安装软件包并保存其依赖关系:
常规方式: npm i --save pkg, 简写: npm i -S pkg.
安装软件包并将其另存为devDependency:
常规方式: npm i --save-dev pkg, 简写: npm i -D pkg.
更多简写请参阅npm速记列表。
我们现在开始学一些更有趣的东西。
1.初始化一个新的项目
我们都知道npm init,是我们在创建一个新项目时所做的第一件事。
但是,每次都需要回答这些问题很讨厌,反正我们会在后面修改它,所以为什么不在一开始的时候跳过呢?
实际上你可以用 npm init -y 和 npm init -f 来达到这个目的!
2.运行测试
我们所使用的另一个命令是npm test。我们中大多数人每天使用它,而且每天用很多次。
如果我告诉你,你可以在减少大约40%的字符的情况下做同样的事呢?因为这个命令很常用,所以必然能为你节省大量时间。
你可以直接使用 npm t, 与用 npm test 效果一样!

3.列出可用脚本
进入一个新项目,我们想知道从哪里开始。我们通常会问自己的事情:如何运行?哪些脚本可用?
一种发现方法是打开package.json文件并检查脚本部分。
我们当然有办法可以做得更好,只需运行 npm run 就能获取所有可用脚本的列表。
另外一个选择是安装ntl(npm i -g ntl),然后在项目的文件夹中运行ntl。它还允许运行脚本,非常方便。

4.列出已安装的软件包
与上一个例子类似,有时我们会问自己在我们的项目中有哪些依赖关系。
我们可以再次打开package.json文件并检查,但是我们已经知道有更好的途径。
向你们介绍 npm ls --depth 0.
我们可以使用-g标志,npm ls -g --depth 0, 来列出全局安装的软件包。

5.运行安装在本地的可执行文件
如果我们的项目中安装了一个包含可执行文件软件包,那它只能在通过npm脚本运行。你想知道为什么吗?还有,怎么克服这个问题呢?
首先,让我们明白为什么 - 当我们在终端中执行命令时,实际发生的是在PATH环境变量中列出的所有路径中查找一个与命令名称相同的可执行文件。这就是他们可以很神奇的从任何地方执行的原因。本地安装的软件包只会在本地注册其可执行文件,因此它们不会列在我们的PATH中,也就不会被找到。
当我们通过npm脚本运行这些可执行文件时,它是如何工作的?这是个很有意思的问题!这是因为当在Node中运行这些可执行程序时,npm做了一个小技巧,它添加了一个额外的文件夹到我们的PATH,<project-directory> /node_modules/.bin。
您可以通过运行 npm run env |grep"$ PATH" 来看到它。您也可以运行npm run env来查看所有可用的环境变量,npm还添加了一些更有趣的东西。
node_modules / .bin,如果您想知道本地安装的软件包放置其可执行文件的位置。
让我们在我们项目的目录中运行 ./node_modules/.bin/mocha 试试看吧。
很简单吧,对吧?当你想要运行本地安装的可执行文件,只需要运行 ./node_modules/.bin/ <command>就好了。
6.在互联网上找到您的项目
您可能见到过package.json文件中的repository条目,并且想知道:“它有什么好处?”
要回答这个问题,只需运行npm repo并在浏览器中打开它。
顺便说一下,对于npm home命令和homepage条目也是同样适用的。
如果您想在npmjs.com上打开您的项目页面,那么还有一个很好的简写,npm doc。
7.在其他脚本之前和之后运行脚本
你可能熟悉诸如 pretest 之类的脚本,它允许您在测试脚本之前运行定义的代码。
您可能会惊奇地发现,您可以为每个脚本之前和之后都提供另一个脚本,包括您自己的!
对于使用npm作为构建工具的项目,在您需要编排多个脚本的情况下,这是非常有用的。
8. Bumping 软件包版本
假设您有一个包,您使用 semver 进行版本控制,您需要在新版本之前 Dump 该版本。
一种方法是打开package.json文件并手动更改版本,但是我们不用这种方式。
更简单的方法是用带有主要、次要或补丁的版本运行 npm。

这就到目前为止所有的内容了。
我希望你学到了一些新的东西,发现至少有一个技巧对你的日常工作有用,理想的情况下,你也会更好地了解npm,并且有一些新的想法可以更好地利用你的工作中。
能让同事印象深刻是好的,但还需不断学习新事物,使自己更专业!