Node.js服务器配置(进阶一)

前言:之前我们使用原生node.js模块搭建了服务器,但是里面还是存在不少问题,比如客户端cookie的访问,还有读取文件进行响应时的编码和头部Content-Type设置问题(没有找到各种文件的编码和Content-Type集合,有很多文件的编码和对应的响应头我也不知道😂)等等不少问题,虽然可以配置一个简单的服务器,但是还是会出不少问题,所以接下来我们使用Node.js的服务器框架来进行服务器的搭建。

目录

第一步:安装模块

第二步:路由的配置

第三步:配置静态资源


第一步:安装模块

在项目目录下安装express模块  win+r打开运行,输入cmd进入shell命令行,然后进到项目目录内,输入下面的指令

npm install express -S

-S:-save的缩写,意思是把模块加入到项目的配置文件(package.json)中

第二步:路由的配置

项目结构如下:

现在开始在app.js中编写服务器代码

const express = require('express');//引入express模块,用于搭建服务器
const app = express();//创建服务器
const PORT = 8080;//端口号

//配置路由
app.get('/',(req,res)=>{
    res.sendFile(__dirname+'/public/html/index.html');
});
app.get('/home',(req,res)=>{
    res.sendFile(__dirname+'/public/html/home.html');
});
app.get('/shopping',(req,res)=>{
    res.sendFile(__dirname+'/public/html/shopping.html');
});

//监听端口号
app.listen(PORT,()=>{
    console.log(`http://127.0.0.1:${PORT}/`);
});

通过express()方法创建出服务器实例,app.listen监听端口。

app.get()方法监听客户端get请求,第一个参数是监听的路径,第二个参数是收到请求后所执行的回调函数,回调函数具有三个参数,第一个参req是请求对象,第二个参res是响应对象,第三个参数我们暂时还用不上,以后再说,这里通过res响应对象中的res.sendFile方法是发送文件到客户端,并终止响应,req和res对象中还有很多参数和方法,后面我们会讲到一些常用的。

现在我们来看一下效果:

页面请求出来了,是不是非常简单😄。

第三步:配置静态资源

app.use(express.static(__dirname+'/public'));

只需要加上这行代码即可(注意:路由配置是具有优先级的,安装代码执行先后顺序,越靠前的优先级越高,反之优先级则低,比如我们给一个路径配置两个路由,那么则会优先执行前面的那个,假如前面的路由终止了响应,那么后面那个就不会执行了。当然现在也不会执行😏,想要执行多个路由则需要第三个参数,第三个参数我们后面会说)

我们现在再来看一下效果

可以看到我们public下的文件可以直接访问了,包括页面图标favicon.ico

总结:这一章就到此结束,感谢您的观看

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js 实战(双色)》通过8 个实例讲解了Node.js 在实战开发中的应用,涉及Node.js 常用框架、非关系型数据库、关系型数据库、运维命令和网络安全等内容。章节按照从简单到复杂的难度排序,每一章都通过一个有趣的实例指引读者从头开发一个应用,让读者可以循序渐进地学习Node.js,以及在实战开发中的编程技巧。, 《Node.js 实战(双色)》面向的是有一定Node.js 基础的读者,建议读者把本书当作入门书和进阶书之间的过渡书籍来阅读。当然,《Node.js 实战(双色)》也适合那些有其他服务器编程语言基础,并且想尝试Node.js 新鲜技术的人阅读。, 编辑推荐, 因为CNode社区点击率颇高、粉丝数万的《一起学node.js》,我认识了《Node.js实战》这本书的几位作者,他们在CNode社区内的贡献、与粉丝跟帖及回复频率,文章更新速度,让我确定了与其合作的想法。很高兴,《Node.js实战》没有成为教条式的入门级别,而是跳出Node.js入门的圈子,真正进入Node.js实战层次。《Node.js实战》的内容架构也是由简入难的,Node.js入门级读者也可从中得到灵感。对《Node.js实战》的内容用6个字可以总结:让人大呼过瘾!废话不多说了,目录就在下方,赶快看吧,绝对物超所值。, 本书中的实例涵盖了Node.js开发的各个部分,大到项目架构创建、小到每一次I/O操作,在本书中都有详细的介绍。请阅读本书,将你的想法运行在你的Node进程上。, ——袁锋(@Python发烧友)某网数据产品部资深Web开发工程师,CNode.org社区核心成员, 如果你想用Node.js快速开发一个个人博客;如果你想用Node.js做一个爬虫程序,定时获取你想要的东西;如果你想用Node.js打造实时Web应用;如果你想让Node.js支持多线程;如果你想在npm上发布一个自己的package;如果你想让自己的Node.js站点更加安全;那么,你就需要拥有这本《Node.js实战》,本书对这些内容有详尽的实例供您参考。, ——田永强(@朴灵)就职于某网站数据平台,Node.js布道师,《深入浅出Node.js》作者, 无论是国家还是我们个人,都必须关注安全问题;同样,互联网安全也与每个互联网开发人员休戚相关。这本书介绍了使用Node.js开发Web应用可能面临的安全问题,以及抵御一些常规恶意攻击的各种防御措施,并搭建了一个安全的Web站点,其内容让人印象深刻。, ——谢骋超(@圈圈套圈圈)网易Pomelo开源分布式网络游戏框架总负责人, 本书是我看过的最贴近实战开发的Node.js书籍之一,虽然它由4位作者合力完成,写作风格难免有所不同,但是通读本书后,4位作者带来的精彩章节却让我大呼过瘾,有继续阅读下去的强烈欲望。感谢4位作者为我们这些Node.js爱好者带来了这本充满经验和知识的《Node.js实战》。, ——张轩丞(某网花名朋春)就职于某网站数据平台 曾主导开发的ITier(标准数据中间层)、MyFox(分布式MySQL集群代理层)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值