使用express创建web服务器


[email protected]

1.?简单的express服务器

安装npm install express使用npm找不到源,改用cnpm

第一版本

var express = require(‘express‘);
var app = express();
app.listen(18001,function afterlisten(){
   console.log(‘express running on http://localhost:18001‘);
}
);

运行后,在浏览器打开localhost:18001 提示不能GET /

解决方法加入路由

var express = require(‘express‘);
var app = express();
app.get(‘/‘,function(req,res){
  res.end(‘hello\n‘);
});
app.listen(18001,function afterlisten(){
   console.log(‘express running on http://localhost:18001‘);
}
);

运行后,在浏览器打开localhost:18001返回hello * 除了手写,express还提供了生成工具,

先来安装 npm install -g express-generator 如何使用 express 你的项目名字,会产生了一个目录

执行文件在bin目录下 无法运行 ,需要安装必须的包 npm install


2.?静态文件服务

使用静态文件中间件

var express = require(‘express‘);
var app = express();
app.use(express.static(‘public‘));//public 为静态文件目录
app.get(‘/‘,function(req,res){
  res.end(‘hello\n‘);
});
app.listen(18001,function afterlisten(){
   console.log(‘express running on http://localhost:18001‘);
}
);

创建静态文件 mkdir public vim public/test.txt 写入hello world

然后 使用curl http://localhost:180001/text.txt即可访问


3.?路由

分析URL: 协议 域名 目录 文件参数 http://www.baidu.com/doc/hello.txt?source=chrome&from=xxx 分析URL: 协议 域名 目录 文件参数 http://www.baidu.com/doc/hello.txt#xx xx为锚点或js路由 路由的含义 :没有扩展名的URL 不是映射到某个文件,而是主机名目录,并不是文件,可能是个处理函数 区分:路径 请求方法 来交给不同的函数

三种方法

  1. path app.动词

    例如 app.get

  2. Router 例如
    var Router = express.Router();
    /** http://example.com/post/add* http://example.com/post/list* 存在公共前缀,最好用router来组织 */
    Router.get(‘/add‘,function(req,res){
    res.end(‘Router /add\n‘);
    });
    Router.get(‘lsit‘,funciton(req,res){
    res.end(‘Router /list\n‘);
    });
    app.use(‘/post‘,Router);//第一个参数指定基础路由为post
  3. route方式 针对一个路由下不同方法的处理
app.route(‘/article‘)
   .get(function(req,res){
    res.end(‘route /article get\n‘);
   })
   .post(function(req,res){
    res.end(‘route /article get\n‘);
   });
//测试 curl -POST htpp://localhost:180001/article 

路由参数

//http://example.com/new/123
app.param(‘newId‘,function(req,res,next,newsId){
   req.newsId = newsId;//URL参数中的值
   next();//执行完之后调用的,即使返回给了用户数据,也会执行//打印请求日志 morgan

});
app.get(‘/news/:newsId‘,function(req,jres){
  res.end(‘newsId: ‘+req.newsId+‘\n‘);
})

4.?中间件

基于Connect。分层处理。每层使用一个功能

来自为知笔记(Wiz)

时间: 2024-10-12 22:37:02

使用express创建web服务器的相关文章

Nodejs+Express创建HTTPS服务器

为了使我的Nodejs服务器提供HTTPS服务,学习了一下如何利用express创建https服务器,现记录如下.(一点一点的积累与掌握吧) 1. Http与Https 介绍 HTTP: 超文本传输协议 (Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议. HTTPS:(Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的

使用express创建node服务器的两种方法及区别

使用express创建node服务器有两种方法,如下所示: 方法一: var express = require('express'); var app = express(); app.listen('3000', function () { console.log("The server is running at *: 3000"); }); 这是我们常用的一种创建node服务器的方式. 写vue项目时使用的vue-cli脚手架使用的就是这种创建方式.  方法二: var exp

5.创建web服务器(LNMP):

创建web服务器(LNMP): # optimization by onekey sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config setenforce 0 getenforce /etc/init.d/iptables stop /etc/init.d/iptables stop chkconfig iptables off c

6.创建web服务器(LAMP):

创建web服务器(LAMP): # optimization by onekey sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config setenforce 0 getenforce /etc/init.d/iptables stop /etc/init.d/iptables stop chkconfig iptables off c

在Node.js环境下使用Express创建Web项目实例

序:如果你还不知道Node.js是什么,那么你可以先看看这篇:Node.js 究竟是什么?或者任何关于它的介绍. 一.安装Node.js 1.进入Node.js官网下载并安装 2.启动cmd输入命令查看node及npm版本 node -v npm -v npm是node完成安装后自带的包管理器 二.安装Express express是node平台下最常用的web应用开发框架 1.全局安装express npm install -g express Win7环境全局安装在C:\Users\Admi

Node创建web服务器并连接数据库

1.安装环境 (1)安装node: node官网:http://nodejs.cn/download/ 以管理员身份打开cmd,输入node -v,输出版本号证明安装成功. (1)安装mongodb: mongodb:https://www.mongodb.com/ 2.编写js代码 // 引入express框架 const express = require('express'); // 引入数据库处理模块 const mongoose = require('mongoose'); const

AZURE快速创建WEB服务器。

部署前的准备: 由于快速部署使用的web apps,所以需要拥有Azure账号,并且拥有相关订阅. 首先创建Web应用,并且可以先看下介绍部分. 点击创建web应用,设置应用名称,选择订阅信息(如果有多个订阅的话).选择资源组,资源组可以新建,也可以使用现有项. 然后创建,稍等片刻,就创建完成了. 到这就相当于我们的运行环境就已经搭建好了.这里我们也可以看下初始的环境. 环境搭建好.下一步就要把文件导入到相应目录下.然后测试是否能正常运行.这里Azure提供多种部署方式,比如常用的FTp.Git

使用nodejs的http模块创建web服务器

[email protected] Contents 1.?web服务器基础知识 2.?Node.js的Web 服务器 3.?代码实现 1.?web服务器基础知识 接受HTTP请求(GET POST DELETE PUT PATCH HEAD) 处理HTTP请求(自己处理,或者请求别的程序处理CGI) 做出响应(返回页面.文件.各类数据等) 常见的web服务器架构: Nginx/Apache:负责接受HTTP请求,确定谁来处理请求,并返回请求的结果 php-fpm/php模块:处理分配给自己的请

【nodejs之我的开源module】 使用express搭建web服务器,代码即文档的实现。

前言 都说nodejs适合制作restful_API,因为它有异步处理能力,能吞吐更多的请求,这一点是大家都认可的.前不久我使用nodejs+express+postgresql搭建了一个restful中间处理平台,感觉express的api在代码量多的时候,显得凌乱.然后我开发了一个能够更好的组织express代码的module,借鉴了一些java中的想法.希望达到一种平衡,一种更优雅的方式组织代码. express 一个express项目的编码流程,大概是几步, 1.初始化app (expr