在上一篇笔记中,使用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中可以访问静态文件,只要对静态文件托管就可以了,这是我写的一个例子,和大家交流学习
node.js中可以访问静态文件,只要对静态文件托管就可以了,把前端代码,放到public目录下,就可以访问了
第1章 Node.js简介 1 1.1 Node.js是什么 2 1.2 Node.js能做什么 3 1.3 异步式I/O与事件驱动 4 1.4 Node.js的性能 5 1.4.1 Node.js架构简介 5 1.4.2 Node.js与PHP+Nginx 6 1.5 JavaScript简史 6 ...
HTTP简单服务的搭建、Node.js静态资源管理、文件处理、Cookie和Session实践、Crypto模块加密、Node.js与Nginx配合;UDP服务器的搭建、Node.js与PHP之间合作;Node.js的实现机制、Node.js的原生扩展与应用;Node.js的...
node.js搭建服务器,静态文件可访问
Node.js是一套用来编写高性能网络服务器的JavaScript工具包,Node.js入门经典采用直观、循序渐进的方法对如何使用Node.js来开发及具速度和可扩展性优势的服务器端应用程序进行了讲解。 《Node.js入门经典》分为6...
Node.js Javascript脚本文件03-Node.js Javascript数组用法04-Node.js Javascript函数用法05-Node.js Javascript对象用法6-Node.js第一个程序07-Node.js创建一个WebSite静态网站08-构造一个...
Node.js 是一种强大的服务器端 JavaScript 运行环境,它允许开发者使用 JavaScript 编写服务器端应用程序。下面是一个简单的 Node.js 示例,用于创建一个基本的 HTTP 服务器。 示例:创建一个简单的 HTTP 服务器 ...
node.js+express+mysql实现增删改查+分页,以及图片上传操作
Express 是一个简洁而快速的 node.js Web开发框架, 提供一系列强大特性帮助你创建各种Web应用。Express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了Web应用所需的功能。
基于node.js+express+websocket 搭建的简单的即时聊天服务器,内容简单实用,可加以拓展。
详解node.js创建一个web服务器(Server)的详细步骤 在 node.js 中创建一个服务器非常简单,只需要使用 node.js 为我们提供的 http 模块及相关 API 即可创建一个麻雀虽小但五脏俱全的web 服务器,相比 Java/Python/...
使用文本编辑器创建一个新的 JavaScript 文件,例如 `app.js`,然后编写您的 Node.js 应用程序代码。 ```javascript // 导入 http 模块 const http = require('http'); // 创建 HTTP 服务器 const server = ...
[Packt Publishing] Node.js the Right Way Practical, Server-Side JavaScript That Scales (E-Book) ☆ 图书概要:☆ Get to the forefront of server-side JavaScript programming by writing compact, robust,...
创建服务器不仅仅只是后端的事情,前段学到位了完全可以考前端技术去开发web项目。Express的学习,你值得拥有!
本项目是一个基于Node.js和Express框架开发的静态网页设计,包含37个文件,主要文件类型包括JavaScript脚本、HTML页面、CSS样式表、图片、地图文件、Git忽略文件、Markdown文档、SQL数据库文件、JSON配置文件和图标...
从零学习node.js之利用express搭建简易论坛(七).docx
NULL 博文链接:https://witcheryne.iteye.com/blog/1165067
第2部分讲解如何借助HTTP模块和Express Web框架,使用Node.js创建基本的网站;第3部分介绍了调试和测试Node.js应用程序的工具,以及部署Node.js应用的方法;第4部分讲解了Node.js实现实时编程的能力以及Socket.IO;...