成长往往是在坚持不下去的时候坚持了下去
npm下载使用包
步骤分为三步
- 初始化项目。npm init 如果之前已经初始化,则可以省略。
npm init --yes
// --与yes之间没有空格, -- 与init之间有空格
// 或者是 npm init -y
-
安装包。 npm install 包名。[注意:保持联网的状态哈]
-
引入包,使用
-
当我们已经下载好一个包之后,就可以像使用核心模块一样去使用它。
-
格式是:
const 常量名 = require('包名')这个格式与引入核心模块的格式是一样的。
下载包慢的原因 小伙伴们都知道 有的时候用别人的包时需要去下载 在网络不好的时候下载很慢或者下载不成功 令人头疼 这个时候我们就要修改一下下载源就可解决这个问题了
- 默认情况下,npm 从一个名为 registry.npmjs.org/ 的服务器上下包。这个服务器在国外,因此下包速度会非常慢
解决方法
- 首先我们在小黑窗口检查一下下载的镜源输入:npm config get registry 默认是这个地址 这个时候改修地址
- 下包的地址切换为国内的淘宝服务器:
npm config set registry=https://registry.npm.taobao.org/
3.解决问题
包的分类--npm包可以分为两大类 1. 一个是全局包 全局包默认安装到系统目录(一般在系统盘的node_modules中)
npm root -g // 查看全局包的安装目录
npm list -g --depth 0 //查看全局安装过的包
2. 一个是本地包
-
局部安装(或者叫本地安装),包安装在当前项目的根目录下(与package.json同级)的node_modules中。
-
命令:
npm install 包名 -
本地包也可以分为两类
- 开发依赖包
- 生产依赖包
全局包和本地包区别
- 全局安装的包一般可提供直接执行的命令。我们通过对一些工具类的包采用这种方式安装,如:
gulp, nodemon, live-server,nrm等。 - 本地安装的包是与具体的项目有关的, 我们需要在开发过程中使用这些具体的功能。
一个经验法则:
- 要用到该包的命令执行任务的就需要全局安装
- 要通过require引入使用的就需要本地安装
npm包创建到发布
- 首先在 www.npmjs.com 网站上注册账号
- 在本地磁盘上创建一个空项目,取文件夹名为
myNpm(根据自己的实际情况去名字)。注意请先去npm网官去确定一下,这个项目名是否已经被占用了。(如果这个名字已经被占用了,则你是无法向npm上上传的
- 检测包名是否被占用
npm view 包名
# 这个命令用来查看 某个包的信息
# 如果返回404,说明这个项目名在npm官网上找不到,此时你就可以使用。
# 否则,说明不可用。
- 报错就是没有被占用
- 没有报错就是被占用了 小伙伴们要区分一下哈
- 使用npm init --yes命令来创建一个package.json文件,对你项目myNpm信息进行设置
- 切换当前npm网址 这个时候就不可以用淘宝那个网址了
- 连接npm 命令 npm adduser 这个命令需要输入四个信息连接npmjs
- 用户名
- 密码
- 邮箱(是你在npmjs官网上注册时使用的信息)
- 校验密码。它会向你的邮箱发邮件
- 小伙伴们在不确定连接上是可以使用 npm who am i命令检测自己
- 上传包 命令 npm publish 如果成功:
npm notice
npm notice package: tool61@1.0.0
npm notice === Tarball Contents ===
npm notice 1.3kB index.js
npm notice 220B package.json
npm notice === Tarball Details ===
npm notice name: tool61
npm notice version: 1.0.0
npm notice package size: 855 B
npm notice unpacked size: 1.5 kB
npm notice shasum: 3bfba7bc92e242810a850ac39ded7ebe992a6d9c
npm notice integrity: sha512-VoRuxxbcGzXen[...]v3tKWYUT1B1AQ==
npm notice total files: 2
npm notice
+ tool61@1.0.0
删除包
npm unpublish --force //强制删除
更新包
- 修改代码,保存。
- 更新版本号。可直接在package.json中修改:只能改大,不能改小。
- 重新publish