利用node.js写一个后台服务器---express框架的搭建及使用(代码片段)

IT民工梅西布莱恩特 IT民工梅西布莱恩特     2022-11-17     374

关键词:

一、node.js+express框架的服务项目搭建

step1:创建一个项目目录:myApp

step2:命令行进入该目录,执行:

npm init

在命令执行过程中,会让你设置一个项目的入口文件(entry point),可以随意设置例如:index.js。

执行完毕后,会在项目中创建一个package.json的文件,这个文件就是用来管理项目中今后需要安装的一些模块或依赖。

step3:安装express插件:

npm install express --save

step4:express核心服务代码:

var express = require(\'express\');
var app = express();

app.get(\'/\', function (req, res) 
  res.send(\'Hello World!\');
);

var server = app.listen(3000, function () 
  var host = server.address().address;
  var port = server.address().port;

  console.log(\'Example app listening at http://%s:%s\', host, port);
);

将这段代码复制到index.js中。

step5:启动服务:

node index.js

 

尝试访问localhost:3000,浏览器显示如下:

这样一个超级简单的基于express框架的服务器就搭建好了。

二、上述代码的简单解释:

//安装了express后,将express框架导入
var
express = require(\'express\');
//express的初始化
var app = express();
//这里就是一个路由了,当get访问根目录的时候,就会执行 app.get(
\'/\', function (req, res) res.send(\'Hello World!\'); );
//监听本机3000端口号
var server = app.listen(3000, function () var host = server.address().address; var port = server.address().port; console.log(\'Example app listening at http://%s:%s\', host, port); );

三、路由过多该怎么处理?

Q: 简单介绍下什么是路由?

A:通俗的讲路由就是访问路径,不同的访问路径会执行执行不同的处理逻辑。

路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问。

每一个路由都可以有一个或者多个处理器函数,当匹配到路由时,这个/些函数将被执行。

 

那么现在问题就来了,一个后台程序会有提供很多的数据接口,也就是说会配置很多不同的路由,考虑以下情况:

现在有一个增删查的功能接口需要我们去完成,如果我们将其全部放在index.js文件下,会使得程序臃肿而相当难以维护,

所以如何去管理路由显得特别重要!

 

很自然的我们想到分模块来管理(insert.js、delete.js、query.js),暂时只用考虑红框框起来的部分。

 

step1:在项目中创建一个router.js(该文件用来管理各不同的路由模块)

 1 module.exports = function route(app) 
 2     //用来处理查询
 3     var query = require(\'./api/query\');
 4     app.use(\'/query\', query);
 5 
 6 
 7     //用来处理插入
 8     var insert = require(\'./api/insert\');
 9     app.use(\'/insert\', insert);
10 
11     //用来处理删除
12     var del = require(\'./api/delete\');
13     app.use(\'/delete\', del);
14 

step2:按上面的文件结构依次创建insert.js、delete.js、query.js

例如delete.js:

 

 1 /**
 2  * 管理员模块delete.js
 3  * @authors lewis
 4  * @date    2018年5月23日10:13:29
 5  * @description 用于向数据库中删除资源数据
 6  */
 7 
 8 
 9 var express = require(\'express\');
10 var router = express.Router();
11 
12 router.get(\'/\', function(req, res) 13     res.send(
14         \'success\': \'delete success!\'
15     )
16 );
17 
18 module.exports = router;

 

这就是一个最简单的delete.js文件里面的内容,当访问localhost:3000/delete,会进入上述方法执行逻辑。

当然在这里面可以扩充一些关于删除的方法,例如:

1  router.get(\'/all\', function(req, res) 
2     res.send(
3          \'success\': \'delete all data success!\'
4      )
5  );

这时候当访问localhost:3000/delete/all,会执行对应的方法。其余模块类似,不多赘述。

step3:将router.js与express的app关联起来:

在index.js 增加如下代码:

 

 这样我们就将路由模块化啦,管理起来更加方便。

  

 

node.js

...、各大直播网站的lol主播直播的app(后续会开源)。在后台服务器的选择上我先是用了JFial写了一套简单的后台,在全部测试通过的时候突然想到web服务无法放到外网上进行访问,也查询了一些主流的云服务器基本都是100多... 查看详情

使用node.js文档里的方法写一个web服务器

     刚刚看了node.js文档里的一个小例子,就是用node.js写一个web服务器的小例子 上代码(*^▽^*) //helloworld.js//使用node.js写一个服务器consthttp=require(‘http‘);consthostname=‘127.0.0.1‘constport=3000;consts 查看详情

利用node的http模块创建一个简单的http服务器

...搭建node环境后,利用node.js的http请求创建一个简单的HTTP服务器。1.在你的项目的文件夹创建一个app文件,同时在文件夹app中创建app.js的node.JS文件。用任意编辑器都可以2.在终端打开nodeapp.js指令,输入正确后悔看到屏幕上面输出... 查看详情

使用node.js原生api写一个web服务器

...者应该天生就会一点。一般我们会用它来做CLI工具或者Web服务器,做Web服务器也有很多成熟的框架,比如Express和Koa。但是Express和Koa都是对Node.js原生API的封装,所以其实不借助任何框架,只用原生API我们也能写一个Web服务器出来... 查看详情

利用node.js搭建简单web服务器的方法教程

前言使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块、文件系统、url解析模块、路径解析模块、以及301重定向问题,下面我... 查看详情

前端框架,后台语言

...教程简单的说Node.js就是运行在服务端的JavaScript。Node.js是一个基于ChromeJavaScript运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。Node.js安装包... 查看详情

node.js零基础详细教程:node.js操作mongodb,及操作方法的封装

...现相关代码学习目标:此教程将教会大家安装Node、搭建服务器、express、mysql、mongodb、编写后台业务逻辑、编写接口,最后完成一个完整的项目后台,预计共10天课程。 node.js操作mangodb 创建一个用于放置今天文件的文件夹... 查看详情

Swagger 生成 Node.JS Express 服务器代码

】Swagger生成Node.JSExpress服务器代码【英文标题】:SwaggergenerateNode.JSExpressservercode【发布时间】:2017-02-2410:13:34【问题描述】:我有Swagger2.0文档,我想根据现有的Swagger规范创建一个Node.JS服务器存根。当我使用SwaggerEditor时,它可... 查看详情

node.js利用流实现读写同步,边读边写

//10个数10个字节,每次读4b,写1bletfs=require("fs");functionpipe(source,target){//先创建可读流,再创建可写流//先读一次,rs.on(data)//将读到的类容写入目标中,返回布尔值,如果是ture,继续写,默认情况应该是false,暂停读取//ws.on(‘drain‘),... 查看详情

90node.js案例--前后台交互

...1)HTML部分;(2)ajax部分;(3)JavaScript部分;(4)node服务器部分。另外,因为牵涉到服务器,所以这里没法“效果预览”。执行过程为:(1)在浏览器地址栏输入网址,向node服务器发送HTML请求;服务器接到请求后,... 查看详情

node.js适合游戏后台开发吗?

网站服务器和游戏服务器是怎么样联系到一起的?百牛信息技术bainiu.ltd整理发布于博客园1.游戏分很多种,咱们先来看看MMORPG。再怎么简单的RPG服务器都免不了处理多人交互的情形,上百人在同一个场景里面,每个客户端都需要... 查看详情

从 Node.JS 中的未捕获异常中恢复

...,我没有机会调用http.ServerResponse对象的end()方法。因此,服务器永远挂起并且永远不会满足请求。这是一个例子:varexpress=require(\'expres 查看详情

从 Node.JS 中的未捕获异常中恢复

...,我没有机会调用http.ServerResponse对象的end()方法。因此,服务器永远挂起并且永远不会满足请求。这是一个例子:varexpress=require(\'expres 查看详情

利用vue.js+node.js+mongodb实现一个博客系统(附源码)

前言本文主要介绍了利用Vue.js+Node.js+MongoDB实现一个博客系统,这个博客使用Vue做前端框架,Node+express做后端,数据库使用的是MongoDB。实现了用户注册、用户登录、博客管理、文章编辑、标签分类等功能实现的功能   &... 查看详情

[node.js]2利用node-git-server快速搭建git服务器

 本文用到了node-git-server1、检测本地git版本该包的使用需要机器上本来就安装git,且git的版本大于等于2.7:1╭─[email protected]/home/workspace2╰─#git--version129↵3gitversion2.7.4 2、利用npm安装包1╭─[email protected]/home/ 查看详情

利用forever在linux上实现node.js项目自启动

...目必须通过管理员远程手动开启才干够执行。那么是否能利用forever加启动脚本方式解决上述问题呢?答案当然是肯定的。仅仅只是有点 查看详情

Node.js + Express.js |尝试设置 HTTPS 服务器

】Node.js+Express.js|尝试设置HTTPS服务器【英文标题】:Node.js+Express.js|TryingtosetupaHTTPSserver【发布时间】:2019-06-0719:59:39【问题描述】:我正在尝试使用Node.js和Express.js设置HTTPS服务器。我目前正在尝试:constfilesystem=require(\'fs\');constex... 查看详情

利用express启一个server服务

安装express$npminstallexpress--save在node.js中,我们最常用的框架就是expressExpress是一个基于Node.js平台的极简、灵活的web应用开发框架,它提供一系列强大的特性,帮助你创建各种Web和移动设备应用。第一步我们要引用这个框架letexpress... 查看详情