首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

谈一谈NPM

NPM(node package manager)顾名思义:即node包管理器,那么node(更准确的说是node.js)又是什么鬼呢?套用官方的解释是“node.js是一个基于Chrome V8引擎的javascrip运行时。”有没有很懵逼?接下来我们就先弄清楚node.js的来龙去脉,然后再深入NPM的讲解。

许多年前,JavaScript被发明了,但这时JS语言仅用来编写网页,也只能在浏览器内运行,离开了浏览器什么也做不了。此时的JS受限于浏览器的性能,运行效率低下。多年后Google发布了V8内核的浏览器,其革命性的突破,使JS在其上的运行效率成倍提升,足以媲美其他脚本语言,但此时的JS仍然仅仅用来写写网页,也脱离不了浏览器,这时有个叫Ryan Dahl的哥们想,既然JS运行效率如此高效,为何不让其脱离浏览器环境,使其成为一门像样的脚本语言呢?说干就干,要使JS脱离浏览器环境,必然涉及到许多系统接口的实现,比如新建、打开、关闭、读写文件,创建进程等,得益于V8引擎的高效性以及这哥们深厚的编程功底,node.js于2009年和大家见面了,让原本鸡肋(仅用于操作DOM)的JS一跃成为多面手,在众多脚本语言中崭露头角,此时的JS不仅能写前端,还能写后端,不仅能写命令行软件,还能写窗口软件,可谓风光无限。

(大神Ryan Dahl)

随着JS的火爆,大量优秀的代码片段相继出现,想象一下,编程时使用这些现成的代码片段,不仅能加快开发速度,还能减少工作量。可是分享、搜索、重用这些海量的代码片段成为了一个问题,于是NPM在2010年应运而生,说到这,你可能已经清楚了npm的作用,没错,npm就是一个工具,方便你搜索、重用JS代码片段的工具,它包含一个代码仓库(用来存储JS代码片段),一个网页(用来搜索可用的代码片段...),一个命令行工具(打交道最多的就是它了,后面详解)。很多人认为npm只能用做后端开发,其实不是这样的,前端开发也大量的用到npm,由于这点,我认为npm改名为JSPM更为恰当。

就我们日常使用而言,了解以下NPM的用法就可以了,更高级的用法请查阅其官方文档:

一:NPM的安装及配置

NPM是用JS写的,运行于node.js之上,因此你需要先从node.js官网下载并安装node.js,由于NPM与node.js绑定在一起,因此你不需要单独安装NPM。安装好node.js之后你可以使用下面两个命令检查是否安装成功:

node -v(--version) //查看node.js的版本

npm -v(--version) //查看NPM的版本

由于node.js与NPM是由社区维护的两个独立项目,因此安装完最新的node.js并不意味着已经安装了最新的NPM,你可以从上面的命令查看NPM是否是最新的,若不是,可以使用以下命令更新NPM:

npm install npm@lastest -g //更新NPM至最新的稳定版本

npm install npm@next -g //更新NPM至将要发布的下一个版本

由于NPM官方仓库访问速度奇慢,可以使用以下命令更改为Taobao仓库:

npm config set registry https://registry.npm.taobao.org

npm --registry https://registry.npm.taobao.org install

二:使用NPM安装本地&全局包

所谓本地包就是将包安装在一个项目中,若是切换到另一个需重新安装;而全局包就是将包安装至系统,切换项目不需要重新安装可以直接引入使用。

npm install

npm install -g

npm install

--save

npm install

--save_dev

npm install

@5.1.1

三:使用NPM更新本地&全局包

npm update

npm update -g

四:使用NPM卸载本地&全局包

npm uninstall

npm uninstall -g

npm uninstall

--save

npm uninstall

--save_dev

五:其他

npm list //列出项目中已安装的所有的包

npm list -g //列出系统中全局安装的所有的包

npm outdated //查看过时的包

npm init //该命令将一个文件夹初始化为node.js模块,并创建package.json, 命令行提示你输入名称、版本、等字段。

npm config get prefix //查看全局安装路径

npm cache clean //删除安装包缓存

npm search

//查找验证某个包是否存在

六:更多

以上的知识点仅仅是JS世界的凤毛麟角,若要熟练使用JS,还需要:

1、掌握JS的语法,重点关注ES6;

2、了解client-side API;

3、查阅node.js官方文档,了解server-side API;

4、大致浏览一下NPM的官方文档,重点了解package.json相关知识点,以及包(package)与模块(module)的异同点。

5、了解并掌握常用模块的使用方法。

Don't be shy, just trying!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180520G0TN6600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券