Node.js阶段学习笔记 3.0

npm - Node包管理工具

这个特别特别重要,node啥也学不会,这个也得会

死了都要会

npm的基本概念

1. npm 是node的包管理工具,
2. 它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。
3. 来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。

npm 由三个独立的部分组成:、
    网站
    注册表(registry)
    命令行工具 (CLI)
  • 作用:通过npm来快速安装开发中使用的包
  • npm不需要安装,只要安装了node,就自带了npm

npm基本使用

初始化包配置文件 (文件夹中不能有中文)

npm init;    //这个命令用于初始化一个包,创建一个package.json文件,我们的项目都应该先执行npm init
             //注意 :  不准使用中文
npm init -y;  //快速的初始化一个包, 
              //注意 : -y:yes

安装包

npm install 包名;  //安装指定的包名的最新版本到项目中
                   //注意 :  包名 一定都是小写的
npm install 包名@版本号;  //安装指定包的指定版本
x.y.z 
 - z: 修改了bug,添加了小功能 1.0.1
 - y: 改动了一个大功能 1.1.0
 - x: 影响兼容性问题 2.0.1 


npm i 包名; //简写  等同于 (npm i 包名 --save 和 npm i 包名 -S )

演示 : element-ui 和 vue-quill-editor编辑器 

卸载包

npm uninstall 包名;  //卸载已经安装的包

npm un 包名;  // 简写

package.json文件

package.json文件,包(项目)描述文件,用来管理组织一个包(项目),它是一个纯JSON格式的。

  • 作用:描述当前项目(包)的信息,描述当前包(项目)的依赖项
  • 如何生成:npm init或者npm init -y
  • 作用
    • 作为一个标准的包,必须要有package.json文件进行描述
    • 一个项目的node_modules目录通常都会很大,不用拷贝node_modules目录,可以通过package.json文件配合npm i直接安装项目所有的依赖项
  • 描述内容
{
  "name": "03-npm",  //描述了包的名字,不能有中文
  "version": "1.0.0",  //描述了包的的版本信息, x.y.z  如果只是修复bug,需要更新Z位。如果是新增了功能,但是向下兼容,需要更新Y位。如果有大变动,向下不兼容,需要更新X位。
  "description": "", //包的描述信息
  "main": "index.js", //入口文件(模块化加载规则的时候详细的讲)
  "scripts": {  //配置一些脚本,在vue的时候会用到,现在体会不到
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],  //关键字(方便搜索)
  "author": "",  //作者的信息
  "license": "ISC",  //许可证,开源协议
  "dependencies": {   //重要,项目的依赖, 方便代码的共享  通过 npm install可以直接安装所有的依赖项
    "bootstrap": "^3.3.7",
    "jquery": "^3.3.1"
  }
}

注意:一个合法的package.json,必须要有name和version两个属性

本地安装和全局安装

有两种方式用来安装 npm 包:本地安装和全局安装。选用哪种方式来安装,取决于你如何使用这个包。

  • 全局安装:如果你想将其作为一个命令行工具,那么你应该将其安装到全局。这种安装方式后可以让你在任何目录下使用这个命令。比如less命令,webpack命令,hcc-md命令 。

  • 演示 : 安装 mimie 和本地安装

  • 本地安装:如果你自己的模块依赖于某个包,并通过 Node.js 的 require 加载,那么你应该选择本地安装,这种方式也是 npm i 包名 命令的默认行为。

// 全局安装,会把npm包安装到C:\Users\HUCC\AppData\Roaming\npm目录下,作为命令行工具使用
npm install -g 包名;

//本地安装,会把npm包安装到当前项目的node_modules文件中,作为项目的依赖
npm install 包名;  

// 本地
const mime = require('mime')

console.log(mime.getType('.aaa.txt'));

npm下载加速

nrm

  • nrm:npm registry manager(npm仓库地址管理工具)
  • 安装:npm i -g nrm
# 带*表示当前正在使用的地址

# 查看仓库地址列表
nrm ls

# 切换仓库地址
nrm use taobao

nodemon 自动重启

  • 作用:监视到js文件修改后,自动重启node程序

  • 安装:npm i -g nodemon

  • 以前 : node 01-test.js

  • 现在 : nodemon 01-test.js

  • 使用:nodemon app.js 运行node程序

  • 演示 : 没有req和res参数,没有end,没有值,ok => 汉字 => 设置响应头

删除缓存(清缓存)

  • 方式1: npm cache clean -f(--force) 强制清除
  • 方式2: C:/..../用户名/APPData/Roaming/npm-cache 里面可以全部删除掉

hacknews案例

  • Hacker News 示例
  • 路由(route):就是一套映射规则,根据url地址分配到对应的处理程序

功能划分

  • 1 新闻列表页 - /index get
  • 2 新闻详情页 - /details get
  • 3 新闻添加页 - /submit get
  • 4 新闻添加请求 - /add post

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值