第一次写node后台接口的项目搭建流程

Node.js

                                                       好好学习,天天向上✨                                                   

node.js的http模块支持创建一个服务器,接下来我们将使用它来进行服务器的初始化

复习内置模块 

1.fs模块

fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。 例如:

 fs.readFile() 方法,用来读取指定文件中的内容
 fs.writeFile() 方法,用来向指定的文件中写入内容

如果使用fs来操作文件,需要如下的方式来导入它

const fs=require('fs')

2.path路径模块

path 模块是 Node.js 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。例如

 path.join() 方法,用来将多个路径片段拼接成一个完整的路径字符串
 path.basename() 方法,用来从路径字符串中,将文件名解析出来

 如果要在 JavaScript 代码中,使用 path 模块来处理路径,则需要使用如下的方式先导入它:

const path=require('path')

3.http 模块

http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一台 Web 服务器,从而对外提供 Web 资源服务。

如果要希望使用 http 模块创建 Web 服务器,则需要先导入它

const http=require('http')

 第三方模块&基本项目结构搭建

前景准备

项目文件夹结构

可以参考:

image.png

 还有一些必须的第三方库需要安装

express
axios
body-parser
cookie-parser
cors
express-art-template
express-session
form-data
jsonwebtoken
multer
path
multiparty
art-template
connect-multiparty
npm i express axios body-parser cookie-parser cors express-art-template express-session form-data jsonwebtoken multer path multiparty art-template connect-multiparty

 其中server.js用来作为整个项目的入口文件,文件里面的内容是

//引入第三方插件
const express = require("express");
const app = express();
const body_parse = require("body-parser");
const path = require("path");
const session = require("express-session");
//安装cors中间件
const cors = require("cors");

// 引入路由

// 配置(解析变量)
app.engine("html", require("express-art-template"));
app.use(body_parse.urlencoded({ extended: false }));
app.use(body_parse.json());
//配置session
app.use(
  session({
    secret: "test",
    cookie: { maxAge: 60 * 1000 * 30 * 24 },
    resave: true,
    saveUninitialized: false,
  })
);
//配置文件
app.use("/public", express.static(path.join(__dirname, "./static")));
app.use(
  "/node_modules",
  express.static(path.join(__dirname, "./node_modules"))
);
app.use(cors());
app.set("views", "views");
// 配置路由

// 启动服务器
app.listen(8099, () => {
  console.log("服务器已启动,端口号:8099");
});

常见常用包的配置

0. 包管理配置文件

npm 包管理工具提供了一个快捷命令,可以在执行命令时所处的目录中,快速创建 package.json 这个包管理配置文件:

用途:

项目根目录中,创建一个叫做 package.json 的配置文件,即可用来记录项目中安装了哪些包。从而方便剔除 node_modules 目录之后,在团队成员之间共享项目的源代码。

终端输入

npm init -y

该文件中的dependencies结点,记录着项目安装的所有包和版本号

1.express

什么是express

官方给出的概念:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。

通俗的理解:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器的。

Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。

Express 中文网 (nodejs.cn)

 安装

将项目在集成终端打开

执行安装命令

 npm install express

基本使用

在项目的入口文件server.js中写入以下代码

// 导入 express 模块
const express = require('express')
// 创建 express 的服务器实例
const app = express()
​
// 之后的其他配置都写在这里
​
// 调用 app.listen 方法,指定端口号并启动web服务器
app.listen(8888, function () {
  console.log('server is running at http://127.0.0.1:8888')
})

 2.request

简介

相信 Node.js 开发者对 Request 都不会陌生,这是一个 Node.js 模块,以 npm 包的形式提供,是一个简单的 HTTP 客户端,通过它可方便地实现 HTTP 请求。

执行安装命令

npm install request --save

3.Axios

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。主要用于向后台发送请求。

官方网站:Axios 中文文档 | Axios 中文网 | Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js (axios-http.cn)

执行安装命令

npm install axios -g

4.cheerio

 执行安装命令

npm install cheerio

5.nodemailer

用来写发送邮箱验证码的接口

简介:

具体可以参考:「nodemailer」Node 邮件发送模块 - 掘金 (juejin.cn) 

 执行安装命令

npm install nodemailer --save

6.mjml

如果,我们需要给用户发送邮箱信息,此时mjml就派上用场了

MJML是一种标记语言,旨在减少编写响应电子邮件的痛苦,具体可以参考官方网站,这里不做过多的赘述。

官方网站:MJML - The Responsive Email Framework

 执行安装命令

npm install mjml

7.mongoose

注意:使用mongoose的前提是电脑上已经下载了mongodb

mongoose是基于Node.js的用于操作MongoDB数据库的第三方的模块

mongoose库简而言之就是在node环境操作MongoDB数据库的一种便捷的封装,一种对象模型工具,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用.

执行安装命令

npm i mongoose --save

 8.apidoc

写注释就能生成文档的工具

具体的操作步骤可以参考apiDoc - 超简单的文档生成器 - 知乎 (zhihu.com) 

 执行安装命令

npm install apidoc -g

  9.cors

当前后端交互需要传递文件的时候,通常会出现跨域的问题,我们通常使用cors这个插件来解决, mdn文档如下:跨源资源共享(CORS) - HTTP | MDN (mozilla.org)

 执行安装命令

npm install express

常见报错:Cannot find module ‘request‘

此时一般是需要看一下自己是否有包管理工具,也就是package.json。如果没有,需要在终端执行命令创建一下

npm init -y

如果已经有了,则执行命令:

cnpm install

 就会将package.json 中所有依赖项下载到node_modules文件夹中,就可以 node server.js运行了


 其实起因就是因为刚开始学node 项目的时候,没有注意好项目的整体结构,文件夹乱放导致整个项目的流程结构看起来就比较乱,因此就又重新搭建了一次,学长又给我们讲了一下子node项目的整个流程,收获颇多,回来之后又重新调整了一下文件的放置位置,小组的同学又帮我重新放了一下html文件的位置,解决了困扰我一上午的bug,真是太厉害了。之后的话,有些东西不能只想不做的,要努力付出实践的,加油!

平时学习的时候确实需要注意自己马马虎虎的问题

最后的话:

                                                       好好学习,天天向上✨                                                   

猜你喜欢

转载自blog.csdn.net/www340300/article/details/131743384