前端开发那些事儿前端

第三节: npm 包管理工具

2020-12-14  本文已影响0人  时光如剑

Node的社区是非常热闹的,众多的优秀开发这提供了很多功能模块,供我们选择使用,那么如何管理和使用这些第三方作者开发功能呢? 此时node开发者主导了一个社区来管理这些功能,这就是NPM

NPM(Node Package Manager) Node包(模块)管理工具,借助NPM,可以帮助用户快速安装和管理依赖包,这样我们就可以很方便的使用来自全球Node开发者提供的包

这里有提到了一个概念包, 那么什么包? 包和模块有和不同?

1. 什么是包

JS模块的基本单位 就是单个的JS文件,但复杂的模块往往由多个子模块组成,为了便于管理和使用,我们可以把由多个子模块组成的大模块成为包,并把所有的子模块放在同一个目录里

组成一个包的所有子模块中需要一个入口模块,入口模块的导出对象被称为包的导出对象

默认包中的入口模块为index.js,也可以在包中新建一个package.json 包描述文件,设置main属性值为模块入口

简单理解如下:

包 === 项目
模块 === 文件

2. 什么是package.json

package.jsonnode.js项目的包描述文件,以JSON格式的形式描述文件

2.1 如果创建package.json
npm init

自动快速初始化项目(全部以yes生成package.json)

npm init -y
2.2 package.json的常用属性
  1. name 项目名称
  2. version 版本号
  3. description 项目描述
  4. main 主入口文件
  5. dependencies 依赖描述
  6. devDependencies 开发时依赖(导出不依赖)
  7. scripts 脚本命令(可以使用npm命令进行执行)
  8. license 开源协议
  9. keyword 关键字

3. npm 常用命令

3.1 安装包
  1. 安装包(安装最新版)

      npm install '<包的名称>' 
    

    可以缩写

      npm i express 
    

    效果同上

  2. 指定安装包的版本

  npm i '<包的名称>@版本号'
  npm i express@1.0.0
  1. 全局安装包
  npm i '包的名称' -g

// 查看全家包的路径
  npm root -g

全局安装的位置
在c盘,用户下的 AppData目录下 的Roaming下的npm下的node_modules文件夹里

  1. 将安装的包写入依赖
  npm i '包的名称' --save

将安装包写入package.json依赖列表

  1. 将安装的包写入开发时依赖

    npm i '包的名称' --save-dev
    
3.2 npm其他命令
  1. 搜索包

    npm search '包的名称'
    
  2. 查看包的信息

    npm view '包的名称'
    
  3. 卸载包

    npm uninstall '包的名称'
    
  4. 更新包

    npm update '包的名称'
    

4. cnpm

npm就是一个下载工具,默认就是取github上去下载,下载会比较忙,所以淘宝做了镜像.10分保持跟官网一次同步,只能下载不能上传

npm官网:www.npmjs.com

淘宝镜像: http://npm.taobao.org/

5.神奇的node_modules文件夹

如果我们引入一个文件,没有写./ 会自动在node_modules文件夹里查找模块

require('test.js')

更为有意思的是,node_modules文件夹里面的模块,在引用时候不需要考虑路径,你只要确保node_modules文件夹在需要引入模块js文件的任何祖先路径中

会有自动父级查找功能

如果当你省略文件后缀名的时候,会把引入的作为文件夹,自动识别文件夹里面的index.js

上一篇 下一篇

猜你喜欢

热点阅读