让你成为npm忍者的10个技巧
本文由Vildan Sortic,马特·伯内特而且汤姆·格列柯.感谢所有SitePoint的同行审必威西盟体育网页登录稿人,让SitePoint的内容成为最好的!
虽然Facebook的新功能令人兴奋不已纱项目在美国,Node.js的持续成功很大程度上要归功于它最初的包管理器,npm.
几个简单的npm命令就可以初始化一个文件夹(npm init),下载软件包(npm安装)并创建测试(npm测试)和自订脚本(npm运行),供你在项目中使用。很少有人深入研究,但是有一些npm技巧可以彻底改变你的日常开发任务。
请注意:如果你需要npm的入门知识,请查看我们的初学者指南.如果你对npm和Yarn之间的区别感到困惑,请参阅我们的帖子:Yarn vs npm:你需要知道的一切.
1.得到帮助!
的NPM在线帮助而且CLI命令文档很好,但在浏览器之间切换并不总是很方便。从命令行可以快速提示所有选项:
npm帮助
还可以显示特定npm命令的帮助:
npm帮助<命令>
例如,NPM帮助安装
.
或者查看命令参数的快速参考:
npm<命令>- h
2.命令自动补全
NPM为使用bash的系统提供了命令自动补全(包括Bash for Windows 10):
npm完成>>~ / . bashrc
或Z壳层:
npm完成>>~ / . zshrc
重新加载shell配置文件,例如:
源~ / . bashrc
现在式npm ins
,点击选项卡而且安装
就会出现。你再也不用浪费时间打字了!
3.修复全局模块权限
类linux系统在尝试安装全局包时可能会抛出权限错误。你可以提前sudo
任何NPM命令,但这是一个危险的选择。一个更好的解决方案是将npm的默认目录更改为你自己的目录:
mkdir~ / .npm-globalnpm配置集前缀“~ / .npm-global”
添加下面的行到~ / . bashrc
或~ / . zshrc
适当使用您选择的文本编辑器:
出口路径="$ HOME/ .npm-global / bin:美元的路径"
重新加载外壳配置文件(源~ / . bashrc
),然后将NPM重新安装到用户拥有的新位置:
npm安装- gnpm
这也会将npm更新到最新版本。
4.保持npm的更新
你可以显示npm的版本号:
npm- v
并更新,如果需要使用:
npm安装- gnpm
当一个新的主版本Node发布时,你可能还需要重新构建c++插件:
npm重建
更进一步说,如果你需要管理多个版本的Node.js和npm的更新,可以考虑以下选项nvm而且n.我们也有关于这方面的教程:快速提示:使用nvm安装多个版本的Node.js
5.定义npm init默认值
初始化新项目文件夹npm init
.这将提示您输入有关项目的更多详细信息,并创建一个初始值package.json
文件。
如果您厌倦了每次启动新项目时都要重新输入相同的信息,那么可以使用可能是
国旗:
npminit - y
或者,你可以为npm设置一些合理的默认值:
npm配置集init.author.name<的名字>npm配置集init.author.email<电子邮件>
6.复杂的包搜索
在写这篇文章的时候,npm上有超过35万个可用的包,而且每天都有更多的包出现。虽然很多都很棒,但你可能想要避免不太受欢迎、有问题或停产的软件包。搜索在npmjs.com而且GitHub是可行的,但还有其他选择…
npm
npm根据项目版本、下载数量、最新更新日期、提交频率、测试覆盖范围、文档、贡献者数量、问题、星级、分叉,甚至作者在社区中的地位,对软件包进行排名,以提供总体质量评分。
npm发现
npm发现定位通常与其他包一起使用的包,例如。分析体与表达。
包的PageRank
包的PageRank搜索和排序npm包关联的谷歌排名。
策划npm列表
或者,利用别人的搜索成功。我经常提到很棒的node . js从sindresorhus在寻找一个健壮的解决方案时。
7.管理您的包
您已经选择了软件包并安装了依赖项。让我们列出我们拥有的:
npm列表
(ls
,拉
而且噢
可以用作别名列表
).
列表显示了所有内容:包、子包、子包的子包等等。使用以下方法将输出限制为顶级包:
npm列表——深度=0
可以使用以下命令打开软件包主页:
npm首页<包>
这只在你的系统可以打开浏览器的情况下才有效——在OS Server版本上它会失败。类似地,你可以打开一个包的GitHub存储库:
npm回购<包>
或者它的文档:
npm文档<包>
或者当前的bug列表:
npm错误<包>
npm列表
报告,当您安装了无关的包-那些在您的package.json
文件。你可以npm卸载
将它们分别或全部去除:
npm修剪
如果你加上——生产
或者有NODE_ENV
环境变量设置为生产
,指定为devDependencies
在package.json
也会被移除。
8.锁定的依赖性
默认情况下,npm引用包版本号时使用插入符号(^
)字符安装包时使用——保存
或——save-dev
.这将包固定到它的主版本号。例如,^ 1.5.1
允许从该版本到但不包括的任何内容2.0.0
在以下情况安装npm更新
运行。
比较保守的波浪线(~
)字符将包固定到次要版本。例如,~ 1.5.1
允许从该版本到但不包括的任何内容1.6.0
在以下情况安装npm更新
运行。波浪号前缀可以设置为默认值:
npm配置集save-prefix=“~”
对于那些对任何可能破坏你的系统的更新都很偏执的人,你可以配置npm只使用确切的版本号:
npm配置集save-exact真正的
或者,你可以收缩包装你的项目使用:
npm收缩包装
这将生成一个npm-shrinkwrap.json
包含您正在使用的依赖项的特定版本的文件。默认情况下使用该文件,并将覆盖该文件package.json
运行时npm安装
.
9.查找过时的模块
您如何知道依赖项何时已更新?我使用了几个月的过程是列出我的依赖项(NPM list——depth=0
),在网上搜寻有关的包裹npmjs.com并手动检查已更改的版本号。几个小时的乐趣。幸运的是,有一个更简单的选择:
npm过时的
或NPM过时-g
对于全局包,比如NPM本身。
您还可以查看单个包的当前版本:
npm列表<包>
并检查当前和历史版本:
npm视图<包>版本
NPM视图
显示关于单个包的所有信息,包括其依赖项、关键字、更新日期、贡献者、存储库、许可证等。
10.使用开发包
在开发包时,您通常希望在其他项目中尝试它们或从任何目录运行它们(如果您的应用程序支持它)。不需要将包发布到npm注册表并全局安装-只需使用:
npm链接
从包文件夹。这将在该包的全局文件夹中创建一个符号链接。使用时,你会看到参考:
npmList -g——depth=0
或
npm过时的- g
您现在可以从命令行运行package或将其包含在任何项目中需要
.
或者,您也可以通过文件路径声明依赖项package.json
,如。
“依赖”:{“。”:“文件:. . / myproject /”}
以上就是我最喜欢的一些npm技巧,但我是否漏掉了你的呢?欢迎评论…