认识npm和第三方库

一、认识npm

  •  一个基于node的第三方包(模块)管理器

1、npm 的安装

  • 安装node的时候,就安装过了, 我们可以直接使用

2、npm 的检测

  • 打开 cmd
  • 输入指令: npm -v ||  npm --version

3、pm 的作用

  • 帮助我们去下载安装第三方模块(包)
  • 帮助我们上传自己的模块(包), 到第三方仓库(全世界通用的)

二、npm的初始化

1. 打开cmd需要在项目所在的根目录

2. 输入 npm init

  • package name: 项目名(尽量纯英文 ||  纯拼音)
  • version: 项目第一次发布的版本号, 初次版本号 0.0.1   0.1.0
  • description: 对项目的描述
  • entry point: 项目的入口文件(一般是后端使用)

3. 输入 npm init --yes  ||  npm init -y

4. 输入完成后,会在项目根目录里创建一个文件 package.json

  • 这个文件就是对我们这个项目的一些描述
  • 以及安装过的第三方包

三、npm 下载指令

1. 安装命令 npm install 包名 || npm i 包名

2. 一般下载默认是最新的稳定版

  • npm 下载完毕之后, 会在项目根目录创建一个node_modules
  •  所有的第三方都在这个目录内

3. 查询包的可安装版本

4. package.json

  • 只会记录一个 包的版本, 后续安装的会顶替掉之前安装

5. 安装指定版本的包

  • npm install 包名@版本号

6. 卸载第三方包

  • 卸载命令 npm uninstall 包名 || npm un 包名

 7. 统一下载所有依赖

  • 将来项目传输时因为 node_modules 文件过多, 导致传输很慢,所以通常都会删掉 node_mdoules (package.json一定要留下)
  • 其他开发拿到这个没有node_modules 的目录(项目)的时候,找到项目根目录(也就是 package.json 在的目录)
  • 打开 cmd,输入指令 npm install || npm i

8. npm 清除缓存

  • 输入命令 npm cache clear -f  清除完成, 没有任何反馈

  •  清除本地缓存(win)

文件查找: C盘  --->  用户(Users)  --->  用户名   ---> AppData(隐藏文件)  ---> Roaming  ---> npm-cache,右键点击删除即可

 9. npm 切换淘宝源

  •  npm config set registry https://registry.npmmirror.co

四、第三方模块

(一)lodash

1、第三方模块使用流程

  1. 下载并导入  npm i lodash
  2. 按照规范去使用库
// _ 只是一个变量名, 开发时使用这个库习惯这样叫
const _ = require("lodash"); 

console.log(_);

  • 引入第三方模块时, 先把这个模块当成内置模块去引入, 如果没有按照第三方模块引入会先去 module.paths内, 按照元素排列顺序, 去一个一个查找 
console.log(module)
/*
    Module {
      id: '.',
      path: 'E:\\yizhiyang\\JavaScript2\\date1201\\teacher\\code',
      exports: {},
      filename: 'E:\\yizhiyang\\JavaScript2\\date1201\\teacher\\code\\01_使用node第三方包.js',
      loaded: false,
      children: [],
      paths: [
        'E:\\yizhiyang\\JavaScript2\\date1201\\teacher\\code\\node_modules',
        'E:\\yizhiyang\\JavaScript2\\date1201\\teacher\\node_modules',
        'E:\\yizhiyang\\JavaScript2\\date1201\\node_modules',
        'E:\\yizhiyang\\JavaScript2\\node_modules',
        'E:\\yizhiyang\\node_modules',
        'E:\\node_modules'
      ]
    }
*/

 2、lodash方法的使用

 const _ = require("lodash"); 

// 创建一个变量, 变量是一个数组, 数组是两个对象
var objects = [{ a: 1 }, { b: 2 }]; 

// 深拷贝这个对象, 将深拷贝后的值, 放到变量deep
var deep = _.cloneDeep(objects);
var deep = objects

// 对比 deep[0]  和 objects[0]
console.log(deep[0] === objects[0]);    ;

console.log(deep[0]);
console.log(objects[0]);

// 判断第一个参数是否大于第二个参数
console.log(_.gt(3, 1)); 

(二)nodemailer

作用:Nodemailer 是一个简单易用的 Node.JS 邮件发送模块

         1. 下载并导入 (npm i  nodemailer)

         2. 按照规则去使用

1、QQ邮箱授权码的获取方法 

 2、代码实现

配置项查找
    1. node_modules
    2. nodemailer
    3. lib
    4. well-known
    5. services.json


smtp 获取方式
    1. 到邮箱内
    2. 设置
    3. 账户
    4. 开启 POP3/SMTP服务 (需要发短信验证)
//导入第三方库
const nodemailer = require('nodemailer');

// 创建一个邮递员 帮助我们发邮件
let transporter = nodemailer.createTransport({
    domains: ['qq.com'],
    host: 'smtp.qq.com',
    port:465,
    secure: true,
    // 发送者的邮箱
    auth: {
        //发送者的账户和授权码
        //个人邮箱账户
        user: '3255443166@qq.com',
        // smtp授权码,到邮箱设置下获取,  这个不是登陆密码
        pass: 'yhhgimfreaskdbgb'
    }
})
transporter.sendMail(
    {
        from:'3255443166@qq.com',  // from 发送者昵称和地址
        /**
         *  接收者的邮箱地址
         *      可以是一个字符串邮箱
         *      也可以是一个数组 ['', '', '']
         */
        to:'1104494454@qq.com',
        subject: 'hello',   //邮件主题
        // txt:'', 
        html:`  //比较常用
        <h1>这是我给你发的邮箱</h1>
        `
    },
    (error, info) => {
        if(error){
            return console.log(error);
        }
        console.log('邮箱发送成功ID:', info.messageId);;
    }
)

(三)认识nodemon

  • 作用: 替代 node 文件名 这个命令
  • 使用时间: 开发的时候 
  • 需要全局安装:npm i nodemon -g
  • 启动命令:nodemon 文件名
  • 这种启动方式具有监听的效果, 只要文件改变并保存, 然后就会自动重启服务器

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值