一.
1.啥是npm????
npm 学名node 包管理器 ,作用是为了Node中的第三方包共享的问题.,
2.npm安装问题
他不需要安装,因为在安装Node的时候也一并安装了.
再其他是命令行工具
这里可以用npm -v检查安装情况.
图示如下
npm官网:https://www.npmjs.com/ 这是一个第三方模块的不花钱的网站.
3.
nodejs中一个模块就是一个单独的js文件
包是多个模块的集合。一个模块的功能比较单一,所以一个包一般会包含多个模块。
npm 管理的单位是包。类似于网站和网页的区别:一个网站一般会包含多个网页。
二
npm下载使用包
1.初始化项目 :在项目的根目录下,启动小黑盒 输入npm init --yes或者npm init-y
他会在根目录下生成一个叫做package.jso文件,这个文件记录了我们当前的项目的基本信息.
SHOW TIME
2. 安装包
有了package.json文件之后,我们可以安装第三方包了就
2.1 小黑盒引入包npm install dayjs
.
完成后就会多两个文件 node_modules 和package-lock.json
2.2
index,js 是自己创建的 ,他想使用dayjs包 如上所示
3.引入ajax示例
小结:
1
npm init命令
:它会启动一个交互式的程序,让你填入一些关于本项目的信息,最后生成一个package.json文件。
如果默认的话 就使用npm init --yes
这个命令只需要运行一次就可以了,他的目的只有生成package.json文件的作用,仅此而已,如果根目录下有了这个命令就不需要执行了, 这个文件后期他是可以改动的.
2
package.json文件,他的整体就是一个json字符串,用来对当前项目的一个总体描述
-
name: 表示这个项目的名字。如是它是一个第三方包的话,它就决定了我们在require()时应该要写什么内容。
-
version:版本号
-
keywords:关键字
-
author: 作者
-
descrption: 描述
3
node_moudules文件夹的作用
当你执行npm install命令时,会从npm的官网下载相对应的包到这个文件夹当中,他呢 会保存我们吃npm在 下载下来额的各种你所需要的第三方包
如果添加了jquery 又添加vue 那么package.json 会记录在devDependencies或者是dependencies列表中.这是有package.json文件
如果没有呢, 你需要再次npm init --yes得到package.json,然后再去npm install dayjs 诸如此类 引入.
分享给别人文件,有这两个人家自己去npm i就可以了
4.package-lock.json
他会锁住package.json,这样分享给别人,人家再去下载就跟别人一样了,不会有冲突.,
可以删除他,下次下载包他会再出来的.
三
镜像
npm是全球的 镜像是国内的 他们是连同的 下包快
# 设置镜像为taobao。
npm config set registry https://registry.npm.taobao.org
# 设置镜像为npm官方
npm config set registry https://registry.npmjs.org
# 查看配置
npm config get registry
四 包
图片转自凡哥 感谢大佬 跪拜!!!!!!!!!!!!!!!!!!!!!!!
包分为两种全局包和项目的包:
1. 全局安装: 包被安装到了系统目录(一般在系统盘的node_modules中)。
命令:npm install -g 包名
或者 npm install 包名 -g
提示: 全局的包可通过npm root -g//可以看到全局包安装的目录/路径
npm list -g --depth 0 //查看全局安装过的包
2. 项目安装(或者叫本地安装),包安装在当前项目的根目录下(与package.json同级)的node_modules中。
命令:npm install 包名
关于全局安装
了解nrm工具,他是专门来来调整npm镜像的
步骤:
第一步: 全局安装
npm install nrm -g
第二步:列出所有的源信息
(*)标注的就是当前使用的源
nrm ls
可能出错 去全局包路径的那个位置打开一个叫做cli.js的文件
const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');
//const NRMRC = path.join(process.env.HOME, '.nrmrc');(注掉)
改为:const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');
第三步:根据需要切换源
例如:指定使用taobao镜像源
nrm use taotao
接下来,正常安装你需要的包
关于开发依赖包和生产依赖包
开发依赖 就是工地脚手架之类干完就不需要了
生产依赖就是混凝土主体
另外每一个下载下来的包都有package.json文件,没有就不叫包.
特别感谢,凡哥!!!