位置: 编程技术 - 正文

详解Nodejs之静态资源处理(nodejs 静态页面)

编辑:rootadmin

推荐整理分享详解Nodejs之静态资源处理(nodejs 静态页面),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs静态编译,nodejs生成静态html,node.js静态服务器,node 静态网页,nodejs生成静态html,nodejs生成静态html,nodejs 静态页面,node.js静态服务器,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

刚开始用Nodejs写简单的web服务器的时候,总是感觉少了点什么。

原来,我一直是在页面上输出什么Hello World!啊, It Works.之类的了。还确实没有处理关于CSS, JS这些引用的静态相关的资源。

一开始觉得处理这些东西应该会非常的easy,结果发现不仅仅是这么回事。途中也遇到了一些人们经常可能会犯的想当然的错误。于是我就决定好好的记录一下关于Nodejs中对于静态资源的处理。

着眼于问题

重现问题

先来展示一下目录结构吧。

这样一个web项目的骨架就算是搭建好了。下面简单的使用nodejs的http模块实现一个web服务器。目标就是显示index.html

index.html

index.css

server.js

代码中用到了一个名为__dirname的变量,其值就是当前运行文件的绝对路径。通过它,我们可以组装出我们想要获取的文件的全路径。

运行代码,开启服务器。

发现问题

然后我们打开浏览器,会发现这样的景象。

没有任何效果的页面

不仅是CSS样式没显示出来,就连图片也同样没有正确显示。

然后我们打开浏览器控制台,会发现客户端向服务器发送了3次请求,分别是:

客户端请求内容

localhost: HTML代码页 index.css: 样式文件 1.gif: 图片文件

之所以我们没能看到具体的效果,就是因为服务器没有正确返回相关的内容啊。这样一想,一下子就恍然大悟了。所以这颗Silver Bullet就是

详解Nodejs之静态资源处理(nodejs 静态页面)

针对每一个不同的资源请求,正确的返回相关的内容。

解决问题

我的思路:

剖析request请求地址。分割出文件名,后缀名。 根据后缀补全相关文件在文件系统中的全路径。 根据全路径读取内容,返回给客户端。

server.js

然后简单的修改了一下server.js,当然这里也只是简单的做下示意,生产代码可千万不要这么写。

然后重启服务器。

再次访问浏览器

因为没有录屏,所以没体现出GIF图的效果,不过关于静态资源已经足够显示了。

express

还有一个比较好用的web框架,express,其对于静态资源的支持更加方便。属于一个更加高层的封装。

核心

通过express对象的app.use(express.static(folder_path))方法就可以了。方法的参数指定为相关的静态资源文件夹路径即可。

server-express.js

index.html

因为刚才使用了静态资源控制,也就是说我们可以简化HTML页面中对于静态资源的路径拼写。比如:

原来在HTML页面中要这么写:

现在只需要这么写了:

看起来就是少了个 /public, 但是实际上通过这一点就可以表明express 其实帮我们省去了很多枯燥的工作内容。

然后打开浏览器就可以看到具体的静态资源内容了。

那么对于不同的图片类型的支持程度如何呢?

下面修改一下HTML页面:

打开浏览器查看对于gif, png, jpg的支持如何?

标签: nodejs 静态页面

本文链接地址:https://www.jiuchutong.com/biancheng/380835.html 转载请保留说明!

上一篇:Node.js开发第三方微信公众平台(node.js web开发)

下一篇:Node.js连接mongodb实例代码(node.js连接mysql数据库的方法有哪些)

  • 小规模纳税人租赁不动产税率
  • 递延所得税抵消分录
  • 漏报了残保金如何调整?
  • 无票收入在增值税申报表的哪里填
  • 进项税为什么记在借方通俗讲法
  • 银行账户利息怎么记账
  • 小规模纳税人不开票需要纳税吗
  • 运输发票抵扣税怎么算
  • 代收污水处理费免税
  • 丢失增值税发票最新处理办法
  • 会计核算形式
  • 收到三代手续费返还
  • 公司化验室领用丙材料3000元
  • 劳务公司购买设备怎么做账
  • 发票已认证还能作废吗2020
  • 公司发工资是私账
  • 企业取得租车发票
  • 折旧和摊销可以没有吗
  • 无票收入应附什么单据
  • 增值税普通发票几个点
  • 地税局开票需要什么资料
  • 公司年末补缴企业所得税需要提供什么资料?
  • 销售,购买
  • 会计估计变更由谁审批
  • 什么是销售利润率和成本利润率
  • 企业个税网上申报时间
  • 参加会议属于什么工作类别
  • 采购过程中产生的物流成本案例分析
  • 公允价值变动损益在利润表哪里
  • Linux如何给文件赋予内容
  • 收到供应商发票分录应怎么写?
  • tp link无线路由器设置
  • 现金流量表与资产负债表不符
  • 工程用的东西有什么
  • 企业出租经营权是否征税
  • 如何压缩文件打包发送微信
  • 结转工程成本属于什么会计科目
  • wordpress主题0skr
  • mac休眠后黑屏无法开机正常吗
  • win11系统怎么设置密码锁屏
  • 购货返利怎么做账
  • 记帐凭证由谁填制
  • 豹七三七粉的价格
  • 车辆赔偿款收条怎么写
  • yolov2训练
  • php session存储方式
  • phpseessid
  • 零售价是含税价还是不含税价
  • android常用的集成开发工具有
  • 为什么递延收益不产生所得税影响
  • 抵账房啥意思
  • 个税申报报的是已离职的员工员工投诉
  • 帝国cms移动端
  • 权责发生制 会计
  • 如何判断固定资产已提足折旧
  • 制单会计岗位风险点
  • 以前年度损益调整是什么意思
  • 预计负债转回对所得税费用的影响
  • 增值税减免附加税用计提吗
  • 公众号认证小额打款流程
  • 行政单位收到的待报解预算收入怎么做账
  • 应收票据背书转让购买原材料
  • 行政单位合并财务怎么办
  • 上年未计提所得税,本年怎么做分录
  • 小型润滑油生产设备要哪些
  • 增值税专用发票开了有什么用
  • 塑料行业税负率是多少
  • 蓝字发票认证怎么操作
  • sql server查询
  • 5分钟了解环保币gec
  • mysql基本教程
  • win7系统ie浏览器打不开
  • ultraiso刻录音乐到dvd
  • linuxwindows差别
  • cmd常用命令详解
  • perl-v
  • 天津国税电话
  • 授课费800元个税要收吗
  • 北京税务报到期限
  • 伊川娘娘山传说
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设