- 一个基于node的第三方包(模块)管理器
- 安装node的时候,就安装过了, 我们可以直接使用
- 打开 cmd
- 输入指令: npm -v || npm --version

- 帮助我们去下载安装第三方模块(包)
- 帮助我们上传自己的模块(包), 到第三方仓库(全世界通用的)
- package name: 项目名(尽量纯英文 || 纯拼音)
- version: 项目第一次发布的版本号, 初次版本号 0.0.1 0.1.0
- description: 对项目的描述
- entry point: 项目的入口文件(一般是后端使用)


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


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





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

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

9. npm 切换淘宝源
1、第三方模块使用流程
- 下载并导入 npm i lodash
- 按照规范去使用库
- // _ 只是一个变量名, 开发时使用这个库习惯这样叫
- const _ = require("lodash");
-
- console.log(_);

- 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 是一个简单易用的 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:` //比较常用
-
这是我给你发的邮箱
- `
- },
- (error, info) => {
- if(error){
- return console.log(error);
- }
- console.log('邮箱发送成功ID:', info.messageId);;
- }
- )
- 作用: 替代 node 文件名 这个命令
- 使用时间: 开发的时候
- 需要全局安装:npm i nodemon -g
- 启动命令:nodemon 文件名
- 这种启动方式具有监听的效果, 只要文件改变并保存, 然后就会自动重启服务器
