
node.js
文章平均质量分 73
火星飞鸟
学习前端ing...
展开
-
简单记录一次使用Node.js部署API的踩坑经历
本文记录了一次部署 API 接口的踩坑经历,写得不好,多多指教。????????在写我的个人博客系统的时候,要开发一个评论小模块,其中有一项功能:有用户 1已经评论留言,用户 2在用户 1的评论下,给用户 1回复评论。这时候需要发一封邮件通知用户 1的评论收到了回复,于是就利用「Nodemailer」写了这样一个功能,具体实现见JavaScript 利用Nodemailer发送电子邮件,使用Node.js编写,接口放在了云服务器上。在本地服务器localhost:3000测试后,可以正常发送请求,并原创 2021-08-27 14:26:54 · 316 阅读 · 0 评论 -
基于Node的Express框架
1. Express框架初体验在Node环境中使用npm install express命令进行下载使用。初体验: // 引入Express框架 const express = require('express'); // 使用框架创建web服务器 const app = express(); // 当客户端以get方式访问/路由时 app.get('/', (req, res) => { // 对客户端做出响应 send方法会根据内容的类型自动设置请求头 res.原创 2020-11-10 18:15:16 · 340 阅读 · 0 评论 -
Node.js 第三方模块 serve-static
1. 功能:实现静态资源访问服务。2. 使用步骤:引入serve-static模块获取创建静态资源服务功能的方法// 引入静态资源访问模块const serveStatic = require('serve-static');调用方法创建静态资源服务并指定静态资源服务目录// 实现静态资源访问服务const serve = serveStatic(path.join(__dirname, 'public'));启用静态资源服务功能// 引入http模块const htt原创 2020-11-08 23:00:39 · 657 阅读 · 0 评论 -
Node.js 第三方模块 router
1. 功能实现路由功能。2. 使用步骤:获取路由对象// 引入router模块const getRouter = require('router');// 获取路由对象const router = getRouter();调用路由对象提供的方法创建路由// 呈递学生档案信息页面router.get('/add', (req, res) => { let html = template('index.art', {}); res.end(html);})原创 2020-11-08 22:55:42 · 725 阅读 · 0 评论 -
模板引擎 artTemplate
1. 安装及使用在命令行工具中使用npm install art - template命令进行下载使用const template = require('art-template')引入模板引擎告诉模板引擎要拼接的数据和模板在哪:const html = template('模板路径', 数据);使用模板语法告诉模板引擎,模板与数据应该如何进行拼接2. 模板语法art-template同时支持两种模板语法: 标准语法和原始语法。标准语法:可以让模板更容易读写{{数据}}原始语法原创 2020-11-08 22:45:44 · 417 阅读 · 0 评论 -
数据库连接报错{ useNewUrlParser: true }{ useUnifiedTopology: true }解决办法
使用以下代码启动数据库,会提示报错信息:mongoose.connect('mongodb://localhost/playStudent', ) .then(() => console.log('数据库连接成功!')) .catch(() => console.log('数据库连接失败!'));解决办法:在js中mongoose.connect添加参数{ useUnifiedTopology: true, useNewUrlParser: true }mongoos原创 2020-11-08 20:24:26 · 1225 阅读 · 0 评论 -
基于Node.js、MongoDB数据库的简单前后端交互界面
1. 效果展示:(1)启动MongoDB数据库服务(2)Node环境环境中运行app.js(3)浏览器地址栏输入http://localhost:3000/list进入 list 界面(4)可进行简单的增、删、改、查操作(5)可通过 MongoDB Compass 可视化软件看到数据库的内容源代码:(1)各文件相对位置(2)list.html<!DOCTYPE html><html lang="Zh"><head> <me原创 2020-11-07 21:28:13 · 818 阅读 · 0 评论 -
初识 MongoDB 数据库
1. 环境搭建1.1 数据库相关概念在一个数据库软件中可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,每个数据集合中可以包含多条文档(具体的数据)。术语解释说明database数据库,mongoDB数据库软件中可以建立多个数据库collection集合,一组数据的集合,可以理解为JavaScript中的数组document文档,一条具体的数据,可以理解为JavaScript中的对象field字段,文档中的属性名称,可以理解为JavaScript原创 2020-11-07 17:45:14 · 625 阅读 · 0 评论 -
初识 HTTP
1. HTTP协议的概念超文本传输协议(HyperText Transfer Protocol,缩写:HTTP)规定了如何从网站服务器传输超文本到本地浏览器,它基于客户端服务器架构工作,是客户端(用户)和服务器端(网站)请求和应答的标准。2. 报文在HTTP请求和响应的过程中传递的数据块就叫报文,包括要传送的数据和一些附加信息,并且要遵守规定好的格式。2.1 请求报文(1)请求方式 (Request Method)GET 请求数据浏览器地址栏link标签的href属性scri原创 2020-11-07 15:25:38 · 321 阅读 · 0 评论 -
node.js 异步函数
异步函数是异步编程语法的终极解决方案,它可以让将异步代码写成同步的形式,让代码不再有回调函数嵌套,使代码变得清晰明了。使用格式:const fn = async () => {};async function fn () {};async关键字普通函数定义前加async关键字,变成异步函数异步函数默认返回promise对象在异步函数内部使用return关键字进行结果返回,结果会被包裹的promise对象中,return关键字代替了resolve方法在异步函数内部使用throw关键原创 2020-11-04 14:48:03 · 992 阅读 · 0 评论 -
node.js 异步函数 依次读取三个文件
需求:使用异步函数,依次读取1.txt、2.txt、3.txt三个文件。文件内容:1.txt:12.txt:23.txt:3代码实现:const fs = require('fs');// 改造现有异步函数api 让其返回promise对象 从而支持异步函数语法const promisify = require('util').promisify;// 调用promisify方法改造现有异步API 让其返回promise对象const readFile = promisify(fs原创 2020-11-04 14:42:42 · 664 阅读 · 0 评论 -
Promise 解决回调地域问题,依次读取三个文件
需求:依次读取1.txt、2.txt、3.txt三个文件,因为fs.readFile属于异步编程,可使用promise完成,解决回调地狱问题。文件内容:1.txt:12.txt:23.txt:3代码实现:const fs = require('fs');// 将三个promise定义成函数,可以再调用的时候再执行,实现依次执行function p1() { // 函数直接返回promise对象,就可以写成“p1().then”的形式 return new Promi原创 2020-11-04 14:24:02 · 398 阅读 · 1 评论 -
Node.js 异步API 代码执行顺序分析
1. 同步API同步API从上到下依次执行,前面代码会阻塞后面代码的执行for (var i = 0; i < 1000; i++) { console.log(i);}console.log('for循环后面的代码');执行结果:先将for循环执行完毕后,再执行for循环后面的代码2. 异步API异步API不会等待API执行完成后再向下执行代码console.log('代码开始执行');setTimeout(() => { console.log('原创 2020-11-04 12:13:37 · 460 阅读 · 0 评论 -
Node.js 模块查找机制
1. 当模块拥有路径但没有后缀时require('./find');require方法根据模块路径查找模块,如果是完整路径,直接引入模块如果模块后缀省略,先找同名JS文件再找同名JS文件夹,没有同名文件夹则报错如果找到了同名文件夹,找文件夹中的index.js如果文件夹中没有index.js,就会去当前文件夹中的package.json文件中查找main选项中的入口文件如果找指定的入口文件不存在或者没有指定入口文件就会报错,模块没有被找到2. 当模块没有路径且没有后缀时require(原创 2020-11-02 21:14:49 · 424 阅读 · 1 评论 -
nodemon : 无法加载文件 [解决办法]
安装了nodemon第三方库以后,使用nodemon .\01.helloworld.js命令,出现如下错误:解决办法:管理员身份打开powerShell将鼠标定位到左下角“开始菜单”处,右键,选择“Windows PowerShell(管理员)(A)”,输入set-ExecutionPolicy RemoteSigned回车:输入A,回车:验证一下:问题已解决!...原创 2020-11-02 18:31:16 · 1190 阅读 · 0 评论