• npm与包


    node.js笔记

    不同于node.js中的内置模块与自定义模块,包是由第三方个人或团队开发出来的,免费供所有人使用
    由于node.js的内置模块提供了一些底层的API,导致在基于内置模块进行开发时,效率很低。
    包是基于内置模块封装出来的,提供了更高级、更方便的API,极大的提高了开发效率。
    安装包
    npm install 包名称
    简写 npm i 包名称

    安装指定版本的包
    npm i 包名称@版本号

    初次安装包
    初次安装包,在项目文件下多一个叫做node_modules的文件夹和package-lock.json的配置文件

    其中:
    node_module文件夹用来存放所有已安装到项目中的包。require()导入第三方包时,就是从这个目录中查找并加载包
    package-lock.json配置文件用来记录node_module目录下的每一个包的下载信息,例如包的名字、版本号、下载地址。

    包管理配置文件
    npm规定,在项目根目录,必须提供一个叫做package.json的包管理配置文件,用来记录与项目有关的一些配置信息。例如:
    1)项目的名称、版本号、描述等
    2)项目中都用到了哪些包
    3)那些包只在开发期间会用到
    4)那些包在开发和部署时都需要用到

    快速创建package.json
    npm init -y
    不用手动添加包的信息,下载包后,包的信息会自动添加到package.json中

    一次性安装所有的包
    npm install
    执行npm install命令时,npm包管理工具会先读取package.json中的dependencied节点,
    读取到记录的所有依赖包名称和版本号之后,npm包管理工具会把这些包一次性下载到项目中

    卸载包
    npm uninstall
    执行成功后,会把卸载的包,自动从package.json的dependencies中移除掉

    devDependencies节点
    如果某些包只在项目开发阶段会用到,在项目上线之后不会用到,则建议把这些包记录到devDependencies节点中
    与之对应的,如果某些包在开发和项目上线之后都需要用到,则建议把这些包记录到dependencies节点中

    安装指定的包,并记录到devDependencies中
    npm i 包名 -D
    等价于 npm install 包名 --save-dev

    切换npm的下包镜像源
    下包的镜像源,指的就是下包的服务器地址

    //查看当前的下包镜像源
    npm config get registry
    //将下包的镜像源切换到淘宝镜像源
    npm config set registry=https://registry.npm.taobao.org/
    //检查镜像源是否下载成功
    npm config get registry
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    nrm

    为了更方便的切换下包的镜像源

    //通过npm包管理器,将nrm安装为全局可用的工具
    npm i nrm -g
    //查看所有可用的镜像源
    nrm ls
    //将下包的镜像源切换为taobao镜像
    nrm use taobao
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    包的分类

    1. 项目包

    那些被安装到项目的node_modules目录中的包,都是项目包
    项目包又分为两类,分别是:

    1)开发依赖包(被记录到devDependcies节点中的包,只会在开发期间用到)
    2)核心依赖包(被记录到dependcies节点中的包,在开发期间和项目上线之后都会用到)

    npm i包名 -D 开发依赖包
    npm i 包名   核心依赖包
    
    • 1
    • 2
    1. 全局包

    在执行 npm int\stall命令时,如果提供了-g参数,则会把包安装为全局包
    全局包会被安装到C:\Users\用户目录\AppData\Roaming\npm\node_modules目录下

    npm i 包名 -g      全局安装指定的包
    npm uninstall 包名 -g     卸载全局安装的包
    
    • 1
    • 2

    规范的包结构
    一个规范的包,他的组成结构,必须符合以下三点要求
    1)包必须以单独的目录而存在
    2)包的顶级目录下必须包含package.json这个包管理配置文件
    3)package.json中必须包含name,version,main这三个属性,分别代表包的名字、版本号、包的入口

    i5ting_toc
    i5ting_toc是一个可以把md文档转为html页面的小工具,使用步骤如下:

    //将i5ting_toc安装为全局包
    npm install -g i5ting_toc
    //调用 i5ting_toc,轻松实现md转html的功能
    
    • 1
    • 2
    • 3

    express

    获取URL中携带的 查询参数

    通过req.query对象,可以访问客户端通过查询字符串的形式,发送到服务端的参数

    app.get('/',(req,res)=>{
    	//req.query默认是一个空对象
    	//客户端使用?name=zs&age=20这种查询字符串形式,发送到服务端的参数
    	//可以通过req.query对象访问到,例如:
    	//req.query.name      req.query.age
    	console.log(req.params)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    获取URL中的动态参数
    通过res.params对象,可以访问到URL中,通过:匹配道德动态参数

    //URL地址中,可以同股票:参数名的形式,匹配动态参数值
    app.get('/user/:id/:username',(req,res)=>{
    	//req.params默认是一个空对象
    	//里面存放着通过:动态匹配到的参数值
    	console.log(req.params)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    【三维目标检测】PointRCNN(一)
    Java-API简析_java.util.Objects类(基于 Latest JDK)(浅析源码)
    Linux常用命令——cmp命令
    awoo‘s Favorite Problem(思维)
    SSM网约车管理系统毕业设计-附源码051630
    技术分享 | Bug定位方法
    GC0053-STM32单片机NTC热敏电阻温度采集及控制LCD1602
    开机自动连接vpn
    web - 前段三剑客
    13.1 Go 反射(Reflection)
  • 原文地址:https://blog.csdn.net/weixin_46051260/article/details/127777102