Node.js是什么?
Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine.Node.js是一个构建于谷歌V8引擎的JavaScript运行时环境。
- Node.js不是一门语言,不是库,不是框架
- Node.js是一个js运行时的环境
- Node.js可以解析和运行js代码,
以前只有浏览器可以运行js,现在js可以完全脱离浏览器运行,一切都归功于Node.js。
Node.js能做什么?
- Web服务器后台
- 命令行工具
- npm
- git
- hexo
- 对于前端工程师来讲,接触最多的是它的命令行工具
Npm世界上最大的开源生态系统,绝大多数的JavaScript相关的包,都存放在了npm上,这样做的目的是为了让开发人员能够更好的使用node.js。
通过node实现定时发邮件的服务
- 首先通过node的npm包管理器安装邮件发送模块
npm install nodemailer
接着在js文件中加入以下代码:
const nodemailer = require("nodemailer");
// 发送邮件函数
async function sendMail(text) {
var user = "xxx@qq.com";//自己的邮箱
var pass = "xxx"; //qq邮箱授权码,如何获取授权码请百度
var to = "waitfor_1153@qq.com";//对方的邮箱
let transporter = nodemailer.createTransport({
host: "smtp.qq.com",
port: 587,
secure: false,
auth: {
user: user, // 用户账号
pass: pass, //授权码,通过QQ获取
},
});
let info = await transporter.sendMail({
from: `亲爱的老公<${user}>`, // sender address
to: `亲爱的老婆<${to}>`, // list of receivers
subject: "亲爱的老婆", // Subject line
text: text, // plain text body
});
console.log("发送成功");
}
//测试一下
sendMail('你好')
- 安装好邮件发送功能以后,各位直男程序猿是不是又苦于不知道情话如何发呢?别担心,已经给你准备好了。先安装axios获取接口数据:
npm i axios
然后在js文件中加入如下代码,这里不仅给你准备了情话的接口,还有朋友圈、骂人、毒鸡汤的接口,总有一个适合你,只需要替换掉url就可以:
const {default: Axios} = require('axios');
function getHoneyedWords() {
//http://lwfcll.top:3000/pyq 朋友圈
//http://lwfcll.top:3000/nmsl 骂人
//http://lwfcll.top:3000/chp 情话
var url = 'http://lwfcll.top:3000/chp';
//获取这个接口的信息
return Axios.get(url);
}
那么我们接下来测试一下:
getHoneyedWords().then(res => {
console.log(res.data);
});
执行node 你的文件名.js然后就会有下面的输出:

- 有了发送邮件的功能是不是还要有个自动发送的功能呢?下面我们来安装定时器。
npm install node-schedule
安装完成以后写入一下代码:
const schedule = require("node-schedule");
//每天下午5点21分发送
schedule.scheduleJob({ hour: 17, minute: 21 }, function () {
console.log("启动任务:" + new Date());
getHoneyedWords().then((res) => {
console.log(res.data);
sendMail(res.data);
});
});
然后重新运行一下服务,就可以每天下午5:21发送了,但是咱们的电脑又不可能一直运行这个服务,所以把它放到云服务器上是最好不过啦。
- 将node项目运行在云服务,并实现挂载
(一)、在服务器上安装pm2
npm install -g pm2
(二)、安装完成后显示 pm2安装的位置

(三)、使用以下命令将pm2放入系统路径下就可以了 注意把上面安装的路径(我的是/app/nodejs/lib/node_modules/pm2/bin/pm2)替换一下,在后面加上 /usr/local/bin,否则直接使用pm2会显示命令不存在。
ln -s /app/nodejs/lib/node_modules/pm2/bin/pm2 /usr/local/bin
(四)、然后将你刚才写好的文件上传到云服务中,并且通过cd进入到这个文件夹,执行以下代码:
pm2 start 你的文件名.js
出现以下代表大功告成:

到这里就实现了通过node实现通过邮件定时给女朋友发情话的功能啦!你学到了吗?小伙伴们,快去尝试一下,给你女朋友一个惊喜吧,或者可以用毒鸡汤给基友一个惊吓哦~~
本文介绍了Node.js的基础,强调其作为JavaScript运行时环境的角色,以及它在Web服务器后台、命令行工具和npm等领域的应用。重点讲解了如何使用Node.js结合npm包实现定时发送邮件服务,包括安装邮件发送模块、获取情话接口数据、使用定时器等功能,最后提到了如何在云服务器上部署并使用pm2进行进程管理,确保定时任务的稳定运行。

1667

被折叠的 条评论
为什么被折叠?



