原文地址: 8 npm Tricks You Can Use to Impress Your Colleagues
做者: Adir Amsalem
译者: weapon-xnode
你看一个同事正在编码,其中应用上了一些简写和技巧,不知为什么,你不熟悉它而且你的大脑一片混乱,这种场景发生在过去咱们每一个人身上。npm
在这篇短文中,咱们将会介绍一些很是实用的 npm 技巧。有不少文章中的技巧会比这里覆盖得更广,因此我选择把重点放在与开发者最相关和使用的工做流中。json
为了让每一个人都对齐进度,特别是新来的同窗,一块儿来快速浏览一遍基础简写,保证没有错过任何细节。浏览器
常规: npm install pkg
简写:npm i pkg
工具
常规: npm i --global pkg
简写:npm i -g pkg
post
常规: npm i --save pkg
简写:npm i -S pkg
学习
常规: npm i --save-dev pkg
简写:npm i -D pkg
测试
其他的简写请阅读 npm 的简写列表编码
如今开始让咱们来作一些有趣的事情吧。code
咱们都知道 npm init
,当咱们建立一个新的包时,这是咱们作的第一件事。
可是,以上的问题是很是烦人的,同时咱们会修改它,因此咱们为何不避开它呢?
npm init -y
和 npm init -f
能够很好地解决。
另外一个咱们都会用到的命令是 npm test
,咱们当中大多数人天天都在使用它,可能一天好几回。
假如我告诉,你用减小 40% 的字数作一样的事情那要怎么作呢?咱们能够这样作,而且这是一个完胜。
那就是 npm t
。
咱们拿到了一个新项目,就会考虑如何去开始上手。咱们常常会自问这些事情:我该如何运行呢?哪些脚本是可用的呢?
一个方法是打开 package.json
文件并检查 scripts
部分。
咱们固然能够作得更好,因此咱们能够运行 npm run
而且获得全部可用脚本的列表。
其他的选项能够安装 ntl (npm i -g ntl
),而后在项目文件目录下运行 ntl
,这样可让运行脚本变得很是方便。
与可用脚本类似,有时咱们会问本身:咱们拥有哪些依赖包在项目中。
咱们能够再一次打开 package.json
文件去检查,可是咱们已经知道能够作的更好。
迎接 npm ls --depth 0
。
列举全局安装的包,咱们能够加上 -g
标志,npm ls -g --depth 0
。
咱们安装了包在项目中,它附带了一个可执行文件,可是它只能经过 npm 脚原本运行,你想知道为何或者如何去拿下它吗?
首先来理解为何 -- 当咱们在 terminal 中执行命令时,实际发生的是,它在 PATH 环境变量里列举出全部的路径,去寻找相同名字的可执行文件。安装在本地的包只在本地注册了他们的执行文件,因此他们不会被列在 PATH 环境变量中以致于不会被找到。
这时你可能会问,当咱们经过 npm 脚本运行这些可执行文件时是如何正常工做的?问的好!这是由于 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>
。
你可能会在 package.json 文件中看到仓库的入口而且想知道它用来作什么呢?
回答这个问题,只须要简单地运行 npm repo
就能够在浏览器打开并查看了。
还有一样适用的是,npm home
命令对应 homepage
入口。
假如你想在 npmjs.com 打开包的页面,这也有至关棒的简写能够作到,npm docs
。
你可能熟悉诸如预测试之类的脚本,这容许你能够在运行测试脚本以前编写代码。
你可能会惊喜地发现,对于每一个脚本能够有 pre 和 post 脚本,包括你本身的脚本。
这在使用 npm 做为构建工具和须要编写许多脚本的项目中会很是有用。
假如你拥有一个包,使用了 semver (语义化版本规范)来控制版本,在发布新版本以前须要作一次版本检测。
其中一个方法是,打开 package.json
文件去手动修改版本,但咱们但愿不要这样去作。
更简单的方法是运行 npm version
带上 major
,minor
或者 patch
。
目前为止,以上就是所有了。
我但愿你能学到新的东西和找到一个对平常工做有用的技巧,能够更好的了解 npm 而且有一些新的想法能够更好地运用在工做中。
更好地打动你的同事,最好常常学习新的东西变得更加专业。
若是你知道其余的实用技巧,请在评论中分享~