`
zsjg13
  • 浏览: 145944 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

用Connect——HTTP中间件模块实现一个web服务器

 
阅读更多

虽然Node.js中的http核心模块可以用来实现web服务器,但要做很多工作,例如要检测每个文件的content type

因此我们决定用Connect模块,非常流行的Express web框架就是建立在Connect之上的

 

一个快速的静态web服务器:

var connect = require('connect');

connect.createServer(

    connect.static(__dirname)

).listen(8080);

 

要运行此代码,你需要安装Connect,当然你可以直接执行npm install connect,但最好是在你的项目目录

中新建一个package.json,在其中声明此依赖,这样,其他人就明白你的程序是如何工作的了。

 

其实不用手动建立package.json文件,你可以执行npm init,此命令会为当前目录创建一个清单文件

按提示去操作就行了,然后再执行npm install --save connect,这会安装connect,同时会在package.json

中保存对connect的依赖信息。

 

createServer方法利用了Node.js的http.createServer,但它自己又加了一些东西。其中的static组件

用于从当前目录(__dirname)提供文件。

 

一切就绪后,假如此文件叫server.js,则执行node server.js就可以运行我们刚才开发好的这个服务器了

 

在浏览器中访问 http://localhost:8080/文件名   就可以访问静态文件了

 

有一个包叫glance也可以实现刚才的效果

 安装好glance后,在某个目录中,执行 glance -p 9999

访问http://localhost:9999/当前目录下的某个文件  就可以访问了

glance --help可以查看帮助信息

 

 

 

分享到:
评论

相关推荐

    前端开源库-connect-assetmanager-live

    Connect是Node.js中的一个轻量级HTTP服务器框架,它提供了构建Web服务所需的基本功能,包括路由、中间件系统等。中间件是一种函数,它们按照特定顺序执行,允许开发者分层处理请求和响应。Connect AssetManager Live...

    毕业设计——基于Express + Mongodb的报修系统设计与实现 .zip

    总的来说,这个毕业设计项目旨在训练学生将理论知识应用于实践,通过使用Express.js和MongoDB构建一个完整的Web应用,理解并掌握前后端开发的基本流程,同时对用户交互、数据管理、服务器逻辑有更深入的理解。

    基于 Node.js 平台的下一代 web 开发框架Koa-6课时 课件 源码.zip

    - **创建服务器**:创建一个新的Node.js文件,引入Koa模块并实例化一个新的Koa应用,然后设置中间件来处理请求。 ```javascript const Koa = require('koa'); const app = new Koa(); app.use(async ctx => {...

    bottle web开发 项目实战:任务管理系统 V1.0.rar

    Bottle是一个基于WSGI的微型Web框架,它包含HTTP服务器、路由系统和模板引擎,让你能够快速搭建Web应用。Bottle的核心概念是路由,通过URL映射到特定的处理函数,实现请求与响应的管理。 **2. 项目结构** 任务管理...

    Node.js.in.Action 最终版

    - 使用Node.js搭建Web服务器的基本步骤。 - 如何处理HTTP请求和响应。 - 基于Node.js的Web框架(如Express)的优势。 - 如何设计RESTful API。 **第5章:存储Node应用数据** - **章节内容**:本章重点讲解如何...

    ASP.NET-Core-2.2-官方教程.zip

    ASP.NET Core是对原有ASP.NET框架的重大改进,它不再依赖于System.Web,而是采用Kestrel作为默认Web服务器,支持HTTP/2协议。ASP.NET Core可以运行在Windows、Linux和macOS上,支持.NET Framework和.NET Core两种...

    8th_Video_Code:在这里,我们基本上执行消息传递和验证,express-session的安装,express-validator,connect-flash,然后添加中间件并执行验证

    `connect-flash`允许我们在服务器端设置临时消息,并将它们存储在用户会话中,这样在用户重定向到另一个页面时,可以显示这些消息。这种方法提高了用户体验,因为它确保了用户能够接收到操作结果的即时反馈。 接...

    node js in action

    **Node.js** 是一个开源的JavaScript运行环境,能够在服务器端执行JavaScript代码。它利用了Chrome V8 JavaScript引擎的强大性能,实现了非阻塞I/O模型,非常适合构建高性能的网络应用。 - **特性**: - **异步非...

    高清彩版 Node.js Design Patterns, 2nd Edition

    - **单例模式**:确保一个类只有一个实例,并提供一个全局访问点。 - 实现方法:通过闭包和私有构造函数来实现。 - 应用场景:数据库连接池管理。 - **工厂模式**:定义一个创建对象的接口,但让子类决定实例化...

    .net core框架,下载即可用

    1. **授权验证**:使用了身份验证服务(IdentityServer4,简称IDS4),这是一个符合OpenID Connect和OAuth2规范的认证服务器,可以为你的API提供安全的身份验证和授权。IDS4可以轻松集成到ASP.NET Core应用中,为...

    webserver-express:Express Server的源代码具有-基本的Heroku

    总结,"webserver-express"项目展示了如何使用Express构建一个简单的Web服务器,并将其部署到Heroku上。理解Express的中间件机制、路由处理以及Heroku的部署流程,是提升Node.js Web开发技能的关键步骤。希望这个...

    blockchain-education-process-server:1.使用Express node.js库的NaUKMA教育过程和简单API服务器的数据模型

    在本文中,我们将深入探讨如何使用Express,一个流行的Node.js框架,来构建这个服务器的数据模型,并实现简单的API接口。这有助于提高教育数据的安全性、透明度和不可篡改性。 首先,让我们理解Express在构建服务器...

    express-exercise-1:05-13-20星期三(DigitalCrafts)

    在这个“express-exercise-1-master”目录中,可能包含了一个简单的Express项目结构,包括一个启动服务器的`index.js`文件、可能的路由文件或中间件实现。这个练习可能旨在让你熟悉Express的基本工作流程,通过实践...

    express-crash-course:express.js速成课程,这是一个基于node.js的最小框架

    - Express.js的核心是基于Connect库,它是一个轻量级的中间件系统,使得处理HTTP请求和响应变得简单。 2. **安装与设置** - 安装Express.js可以通过npm(Node.js包管理器)进行:`npm install express` - 创建一...

    Book-store:使用Express和Node JS构建

    而Express.js是基于Node.js的一个Web应用框架,它简化了构建Web服务器的各种任务,提供了丰富的中间件系统,使得Web应用的开发变得更加高效。 首先,我们需要了解Node.js的基础知识。Node.js使用Google的V8引擎作为...

    starting-express:Makers Academy 第 7 周活动 - Express for Node.js 简介

    Express.js是基于Node.js的Connect中间件构建的,它简化了HTTP服务器的创建,提供了丰富的API和中间件系统,使得开发者能够快速搭建Web服务器。Express遵循了RESTful设计原则,可以轻松处理路由、请求和响应,极大地...

    ExpressWorksSolutions:这些是nodeschool.io项目中ExpressWorks项目的问题

    2. 初始化应用:导入express模块并创建一个应用实例,如`const express = require('express'); const app = express();`。 3. 设置路由:使用`app.get()`或`app.post()`方法定义路由,例如`app.get('/', (req, res) ...

    242P_Network_programming

    《网络编程之道——深入浅出Python网络编程》 在当今数字化时代,网络编程已经成为软件开发不可或缺的一部分。Python作为一门简洁易学且功能强大的编程语言,其在网络编程领域有着广泛的应用。242P_Network_...

    express-starter:学习nodejs之express

    在本文中,我们将深入探讨"express-starter"项目,这是一个基于Node.js的Web应用程序框架——Express的入门教程。Express是JavaScript开发人员构建高效、可扩展的网络应用的强大工具,尤其适用于构建RESTful API和...

    task-manager:MongoDB的Node.js应用程序

    MongoDB官方提供了一个名为`mongodb`的NPM模块,通过它可以轻松地与MongoDB服务器进行交互。安装该模块只需在项目目录下运行`npm install mongodb`命令。这个模块提供了一系列API,包括连接数据库、创建集合、插入...

Global site tag (gtag.js) - Google Analytics