npm的认识和使用

系列文章目录


前言

一、npm是什么?

npm(node package manager 简称:node包管理工具),是世界上最大的开放源代码的生态系统。,我们可以通过npm下载各种各样的包,这些源代码我们可以在npmjs找到。

程序员的社区文化:
拥有共同职业或兴趣的人自发组织在一起,通过分享信息和资源进行合作,虚拟社区参与者经常会在线讨论相关话题,或访问某些网站。

最大的前端社区就是GitHub,我们可以通过GitHub来:

  1. 分享源代码(线上代码仓库)
  2. 讨论问题(lssue列表)
  3. 收集学习资源和常用的网站
  4. 可以使用别人贡献的代码,我们也可以贡献代码给别人使用

二、共享代码

1.前端是如何共享代码的

在GitHub还没兴起的年代,前端是通过网址来共享代码的,比如,我们想使用jQuery,那么我们点击jQuery网站上提供的连接就可以下载jQuery,放到自己的网站上使用。

jQuery:

GitHub兴起后,社区中也有人使用GitHub下载功能
在这里插入图片描述

当一个网站依赖的代码越来越多,程序员发现很麻烦

  • 去jQuery官网下载jQuery
  • 去BootStrap官网下载BootStrap
  • 去Underscore官网下载Underscore
  • ……

因此,程序员Isaac Z. Schlueter(艾萨克·施吕特)给出了一个解决方案:用一个工具把这些代码集中起来管理。这个工具就是JavaScript(运行在Node.js上),全称是Node Package Manager.

Isaac Z. Schlueter:npm创始人,现任npm首席产品官,曾任职Yahoo前端工程师,Joyent软件工程师,NPM CEO,他的GitHub

2.具体步骤

NPM的思路大概是这样的:

  1. 买个服务器作为代码仓库(registry),在里面放所有被共享的代码
  2. 发邮件通知jQuery、Bootstrap、Underscore作者使用npm publish把代码提交到registry上,分别取名jquery、bootstrap和underscore(注意大小写)
  3. 社区里的其他人如果想使用这些代码,就把jquery、bootstrap、和underscore写到package.json里,然后运行npm install,npm就会帮他们下载代码
  4. 下载完的代码出现在node_modules目录里,可以随意使用

这些可以被使用的代码被叫做包(package),这就是NPM名字的由来:Node Package Manager

三、发展

npm的发展是跟Node.js的发展相辅相成的。Node.js是由在德国工作的美国程序员Ryan Dahl写的。他写了Node.js,但是Node.js缺少一个包管理器,于是他和npm的作者一拍即合,最终Node.js内置了npm;随着Node.js的火爆,大家开始使用npm来共享JS代码,于是jQuery作者也将jQuery发布到npm了。所以现在使用npm来分享代码已经成为前端的标配。我们可以使用npm install jquery来下载jQuery代码;

Node.js:是一种javascript的运行环境,可以使得javascript脱离浏览器运行。

三、npm命令详解

npm -v  #查看npm版本
npm install ModuleName #使用npm命令安装模块
npm install jquery #安装jq模块
npm uninstall ModuleName #卸载模块
npm list  #查看当前目录下已安装的node包
npm info 模块  #查看模块的版本
npm install jquery@1.8.0 #安装指定版本

三、package.json

package.josn定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等数据)

1、创建package.json

npm init
npm init -y
npm init --yes 默认值
npm init npm init - yes

2、package.json文件
1)name:可以是小写,只有一个单词,没有空格,可以使用破折号和下划线
2)version:必须以X.X.X的形式填写版本号

{
   "name": "test", 
   "version": "1.0.0",  
   "description": "test", 
   "main": "main.js", 
   "keywords": [     "test"   ], 
   "author": "wade",  
   "license": "MIT",  
   "dependencies": {     "express": "^4.10.1"   }, 
   "devDependencies": {     "jslint": "^0.6.5"   } 
   } 

3、安装模块并把模块写入package.json(依赖)

    npm install  babel-cli  --save-dev 
    npm install 模块 --save 
    npm install 模块 --save-dev 

4、dependencies 与 devDependencies 之间的区别?

使用 npm install node_module –save 自动更新 dependencies 字段值;

使用 npm install node_module –save-dev 自动更新 devDependencies 字段值;

dependencie 配置当前程序所依赖的其他包。 devDependencie 配置当前程序所依赖的其他包,只会下载模块,而不下载这些模块的 测试和文档框架

   "dependencies": 
   {  "ejs": "^2.3.4", 
   "express": "^4.13.3",
   "formidable": "^1.0.17"  
   } 

^ 表示第一位版本号不变,后面两位取最新的(表示这个配置只锁定主版本号,告诉npm只取版本号是1,后面取得最新版本,不管后面写什么)
~ 表示前两位不变,最后一个取最新(锁定主版本号和次版本号)
* 表示全部取最新
没有符号就是三位全部锁定,必须是这个版本

三、npm下载和使用

1.下载

2.安装


3.检查

当下载好Node后我们就可以使用npm命令进行包的管理

npm --version
npm -v

在这里插入图片描述
本地安装包

如果你想让你的模块依赖某一个包,并且通过require加载进来那么你需要安装一个本地包,供你当前的项目依赖,又称作项目运行的依赖

npm install <package_name>

全局安装包

如果你想将安装的包,作为命令提示行的命令符,那你需要全局安装该包,比如说gulp工具

npm install <package_name> -g
npm install <package_name> --global //两者均可

检查

安装之后,在安装的根目录下会出现一个node_modules的文件夹,你面的bin目录下会存放你安装的本地包,假如我们安装了jquery那么node_modules下会出现一个jquery的文件夹,这就说明我们安装成功了

更新

在package.json所在的的根目录下执行

npm update

卸载

->本地包(删除node_modules下面安装的本地包)

npm uninstall <package>

如果我们需要将package.json记录的安装包版本信息一同删除的话,执行

npm uninstall <package> --save 
//如果我们要删除开发依赖包
npm uninstall <package> --save-dev 

->全局包

npm uninstall <package> -g

查看包的版本

npm view jquery versions
npm install jquery@1 -S //安装开头为1的最新版本
npm install jquery@1.11 -S //安装开头为1.11的最新版本
npm install jquery -S //最新版本

清除缓存

npm cache clean --force

查看更改镜像源

//查看当前镜像源
npm config get registry
 //更改镜像源
npm config set registry https://registry.npmjs.org/

总结

分享:
一切好的友谊都是自然而然形成的,不是刻意求得的。真正的朋友,应该是心灵伴侣,能互相尊重,亲疏随缘。再好的朋友也应该保持距离。友谊是沉默的。友谊永远是双向的、自然而然的,不需要表白也不需要证明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若竹之心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值