在上一篇笔记中,使用node.js编写了一个可以提供访问静态文件的HTTP服务。在本篇笔记中,打算利用express这个node.js下的框架来搭建一个相同的HTTP服务。
安装express,和利用express generator 生成一个express项目的说明,就不在这里重述。在express的官网上有详细的入门介绍,可以参考:http://www.expressjs.com.cn/starter/installing.html
这里只记录一下编写的代码,作为学习和后续使用的记录。
我创建的目录结构很简单:
app.js :是主应用程序;
index.html :静态http服务器提供的默认首页;
public:文件夹,用来存放静态文件,我这里存放的是css,后面也可以把img等文件存放在这里。
看一下app.js的实现:
var express = require('express'); var app = express(); app.use(express.static('public')); app.get('/', function (req, res) { // res.send('Hello World!'); res.sendfile('index.html'); }); 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); });
关键的代码说明:
1、app.use(express.static('public'));
按照express官网的介绍说明,该语句是将工程目录中的public文件夹作为静态资源的文件夹。express.static(),是express提供的静态文件中间件。关于express的中间件,我理解和node.js的pipeline类似,在一个对应的请求出发时,可以通过不同的中间件进行处理。
2、
app.get('/', function (req, res) {
// res.send('Hello World!');
res.sendfile('index.html');
});
这里使用了express的路由功能,对http的get方法,请求路径为"/"的情况下,直接将根目录下的index.html返回。
在命令行启动app.js,在浏览器中输入地址:http://localhost:3000查看效果:
这里,不需要输入需要访问的文件名,直接通过定义的路由实现了文件的跳转。
最后,我又做了一个实验,在public的文件夹下,创建了chunxiao.html。将上面的路由实现代码做了一下修改,路由跳转的页面为public文件夹下的chuanxiao.html。
app.get('/', function (req, res) { // res.send('Hello World!'); res.sendfile(__dirname + '/public/chunxiao.html'); });
将chunxiao.html的内容稍作变动,将最后一句去掉。重新运行程序,在浏览器中输入地址,查看效果:
可以看到这里实际输出的就是我们修改后的chunxiao.html
最后,我使用express的generator生成器生成了一个新的app:myapp,该app为后续的实践作准备。
相关推荐
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程,从而打破了JavaScript只能在浏览器中运行的传统。本学习笔记旨在深入解析Node.js的核心概念、特性以及常见...
3. 编写服务器代码:新建一个名为server.js的文件,使用Node.js内置的http模块创建服务器。基本结构如下: ```javascript const http = require('http'); const port = process.env.PORT || 3000; ...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript编写代码,从而打破了JavaScript只能在浏览器中运行的传统。本压缩包"Node基础学习笔记.rar"包含了Node.js的基础知识...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这份学习笔记涵盖了Node.js的多个重要知识点,包括ES模块化、Express框架的基础、JSONP处理、Koa2框架、Mocha...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者可以用 JavaScript 来编写服务器端和网络应用。Node.js 使用了一个事件驱动、非阻塞 I/O 模型,使其轻量又高效,非常适合处理大量并发连接。在...
Node.js允许开发者使用JavaScript进行服务器端编程,创建可扩展的网络应用,如实时聊天、协作工具或者API服务器。 在学习和使用Node.js时,以下几个核心知识点是必不可少的: 1. **事件循环(Event Loop)**:Node...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript进行开发,实现了全栈JavaScript开发的可能性。Express则是Node.js中最受欢迎的Web应用框架,它简化了构建web服务器和...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"Node.js_notes"的压缩包很可能是某个开发者在深入学习Node.js时记录的笔记,涵盖了他在学习过程中遇到的...
app.js 文件是项目的入口文件,用于配置 Express 服务器。它主要包括以下几个部分: * 加载 Express 模块和其他依赖模块 * 设置 views 文件夹和视图引擎 * 加载中间件,例如日志中间件、解析 json 的中间件、解析 ...
4. **静态文件服务**:Express可以方便地设置静态文件目录,用于服务CSS、JavaScript和图片等静态资源。 在“NodeJS第7天笔记.docx”中,你可能会找到关于Node.js和Express的更深入讲解,包括如何初始化项目、安装...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它让JavaScript得以在服务器端运行,从而打破了JavaScript只能在浏览器中执行的限制。Node.js以其高效、轻量级和非阻塞I/O模型而闻名,尤其适合实时、数据密集...
本项目“Express_Note_Taker”利用Express.js的强大功能,创建了一个用于记录和管理个人笔记的应用程序。 在深入讲解这个项目之前,我们先了解一些基础概念: 1. **Node.js**: Node.js是一个开放源代码、跨平台的...
- **创建项目结构**:一个基本的Express + MongoDB项目会包含`app.js`或`index.js`作为入口文件,`models`目录存放Mongoose模型,`routes`目录处理路由,`public`目录存放静态资源。 - **连接MongoDB**:使用...
9. **静态文件服务**:Node.js 可以轻松地提供静态文件,如 CSS、JavaScript 和图片,以支持前端的展示。 10. **前端框架**:React、Vue 或 Angular 可能用于构建用户界面,提供丰富的组件和状态管理功能。 11. **...
Node.js是基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程,而Firebase是Google提供的一个全面的移动开发平台,提供数据库、身份验证、存储和消息推送等功能。 在"Node.js-...
"Amicronoteapplication"是一个微型笔记应用,它利用了Node.js的技术栈来构建一个轻量级的内容管理系统。Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它以其高效的非阻塞I/O模型和事件驱动的特性,在Web...
【笔记应用:使用Node.js创建】 Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其高效的非阻塞I/O模型和丰富的生态系统,使得开发者可以用JavaScript编写服务器端代码。在这个"Notes-App"项目中,我们...
Express是基于Node.js平台的高性能Web开发框架,它简化了构建服务器端应用的过程,使得开发者可以更快速地构建可扩展的网络应用。本入门笔记将深入讲解Express的基础知识和核心特性,帮助你从零开始掌握这个强大的...
提供静态文件 注意:-使用npm install Nodexpress NJS#4 2019年8月1日[ ] 路由 HTTP方法 中间件 注意:-使用npm install Nodexpress NJS#5 2019年8月2日[ https://youtu.be/2gq2WCakk1A ] 帕格-模板引擎 基本 ...
1. **Express框架**:在Node.js中,Express是最流行的Web应用框架,它简化了HTTP服务器的创建和路由管理。在这个实时Markdown编辑器中,Express将负责接收前端发送的Markdown文本,将其转换为HTML,并将结果返回给...