开启你的JavaScript之路:二、浅谈包管理工具

1 篇文章 0 订阅
1 篇文章 0 订阅

上文我们说到开发模式,相信大家已经有了自己心仪的开发框架,并且知道为何要使用它们了,今天我们来讲一下包的管理工具:

1. 什么是包管理工具?

我们从npm社区下载下来的任何项目都可以称之为“包”,当然我们也可以自己写一个项目然后“打包”发布。

1.1 首先我们来看看包管理工具都有哪些:

  1. npm:npm管理工具是Node自带的也是npm官方的管理工具,当你安装完Node的时候它就默认安装在了Node的全局安装目录下了
  2. cnpm:因为长城防火墙的存在,从npm社区直接下载包会比较慢,而且会有超时的可能,导致有些依赖没有办法安装,包就跑不起来。所以我们可以使用npm 安装 cnpm,有人可能会说“修改npm的registry就可以访问淘宝镜像了”,但是我不建议修改npm的registry,原因我们后面说。
  3. yarn:也是一个比较火的包管理工具。因为原先的npm在现在包的时候会报很多信息,让人难以分辨,而且npm使用 ~ ^ 等符号来代表版本号,很难区分。而yarn在yarn.lock文件中对依赖的版本号进行了映射,看起来显而易见。而且yarn下载包的界面看起来十分简洁,最重要的一点yarn的命令对依赖的管理比较亲和。

以上三个包管理工具,就是目前比较常用的管理工具,包管理工具就是管理你的包的工具

2. 如何使用包管理工具?

要想使用包管理工具我们首先得下载Node:
windows:https://nodejs.org/dist/v10.15.2/node-v10.15.2-x64.msi 这个是目前官方长期支持的稳定版本10.15.2 64位的版本。
mac: https://nodejs.org/dist/v10.15.2/node-v10.15.2.pkg 这个是mac版本的。
因为我的电脑以前安装过Node10.13.0,所以会弹出让我升级的页面
Node升级
它的原理是根据环境变量的地址来寻找Node的目录,打开环境变量的方法:
在这里插入图片描述
设置然后搜索“编辑系统环境变量” -->点击 环境变量 -->找到变量名为Path的变量
在这里插入图片描述
双击进入就可以进行修改删除和天加环境变量了。同样的如果你安装了Node以后在cmd输入node报错说没有找到命令,我们可以看看是不是环境变量没有添加正确的路径。

我们根据环境变量指示的路径找到文件
在这里插入图片描述
并且把文件的命名修改为Node@10.13,这样就可以正常安装了,想要安装多版本的Node也可以这样做。

这样我们就一路安装了。安装完成后输入node -vnpm -v 来查看是否安装成功,如果没有就看看环境变量路径是否正确。
在这里插入图片描述
如图这样就安装成功了,接下来我们介绍这篇第一个包管理工具npm

2.1 npm

npm作为官方发布的管理工具,自然是功能最全的管理工具。它与其他包管理工具最大的不同就是使用npm包管理工具可以把我们的项目发布到npm社区,但是我们不能修改npm的registry,修改了就没有办法去发布你的开源包了。

如果对发布开源包比较感兴趣,我们首先需要注册一个npm的账号,我们可以去https://www.npmjs.com/注册我们的账号,如果打不开就使用命令npm adduser 去注册账号(报错很蛋疼);
注册完成使用npm login登陆, 登陆成功使用npm whoami查看当前登陆账户
在这里插入图片描述
如果下方出现你的账户就代表登陆成功了。

这时候我们就可以发布自己的开源包了(注意:开源包的名字不能和线上的重复,否则上传会报错)。发布开源包之前我们先下载包的配置文件:新建文件夹 --> 在文件夹目录运行cmd或者powershell或者git bash -->输入命名 npm init: 括号内是默认值 如果不需要修改就回车
package name-------> 就是你包的名字(不支持大写 _ 等特殊字符,但是支持-)
version ----------------> 包的版本号,每次发包都要修改,第一次发包版本号自己定
description-----------> 对你的项目进行描述,这是决定你的包能否被广泛使用的重要的信息
entry point------------> 入口文件,默认是index.js文件,建议不要修改。这个文件只是作入口用,来引入你的项目的入口,一般不做其他操作。
test command-------> 这个可以先空着,是测试命令,如果需要可以写。
git repository -------> git仓库的地址,如果需要可以写
keywords-------------> 包的密码,如果要发包这个是必填项,发布的时候需要输入,错误则无法发包,或者对包进行更新
author:-----------------> 包作者的名字,如果是你的包就可以把你的名字写上了
license-----------------> 版权声明
然后一个package.json包配置文件就生成了。

引入包的时候会先扫描package.json文件,这个时候扫描到入口文件是当前目录下的index.js文件,然后执行index.js进入到你的包中
在这里插入图片描述
这是一个最简单的包的结构我们以index.js为入口,引入main.js的代码。
index.js

/**
 * @Author: Lew
 * @Date: 2019-02-15 00:17:51
 * @Project: index.js
*/

const App = require('./main')

new App();

main.js

/**
 * @Author: Lew
 * @Date: 2019-02-15 00:17:59
 * @Project: main.js
*/

class Test {
    constructor() {
        this.con()
    }
    con() {
        console.log('Lew')
    }
}

module.exports = Test;

写完了就可以发包了,我们在当前目录执行npm publish package name在package.json可以看到package name, 第二次更新包的时候要修改version
在这里插入图片描述

2.2 cnpm

cnpm的命令名和npm的一样只不过前面变成了cnpm 我们输入 npm install cnpm -g 将cnpm安装到npm的全局变量包中,我们就可以使用cnpm命令了,只要是下载到环境变量标识下的全局变量包里面 都可以当成命令来执行,如果报错说命令错误就是环境变量不对,或者没有在全局变量包下面。
在这里插入图片描述
我们可以看到cnpm的镜像默认就是淘宝镜像,我们使用cnpm下载全局包的时候他会自己下载到npm的全局变量包,可以直接使用。最重要的是 cnpm是从国内下载速度比npm官网上快很多,而且10分钟更新一次镜像基本和官方保持一直。

2.3 yarn

我们使用cnpm下载yarn cnpm install yarn -g 的命令可以去官网查询
npm 下载 本地依赖包 命令为 npm install <依赖包名> --save 若果是开发依赖就是 npm install <依赖包名> --save -dev 其中–save 是下载本地依赖并且写入注册表中的dependencies字段package.json下的dependencies,此字段下的包为线上依赖,打包时会一起打包。 --save -dev是下载本底依赖并且写入注册表中的devDependencies字段,就是package.json下的devDependencies,此字段下的包为开发依赖,打包时会忽略掉以减小包的体积。

npm install <依赖包名> --save 对应 yarn add <依赖包名>
npm install <依赖包名> --save -dev对应 yarn add <依赖包名> --dev
还有很多命令这里就不一一举例了

以上就是3种包管理工具了,各有所长 建议共同使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值