我的编程空间,编程开发者的网络收藏夹
学习永远不晚

node+js搭建时间服务器的思路详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

node+js搭建时间服务器的思路详解

时间服务器

时间服务器

1.思路准备

1.1思路来源

这是在我的软件老师给的期末课程设计
他要的是通过自己的知识储备,来设计一个
前后端数据的展示与发送

1.2思路前提要求

1.搭建一个前台页面,要求简单易懂
2.搭建服务器,用于向前端发送需要的数据
3.点击数据展示,颜色改变,双击切换一些背景颜色

1.3技术要求

1.熟悉node,熟练掌握fs的使用
2.了解用express搭建后台服务器,了解怎么向前台发送数据
3.要有全局意识,将需要改变的颜色设置用var()来设置颜色
4.熟悉数组的方法,了解怎么通过数组方法处理数据
5.了解echarts的使用
6.熟悉ajax的使用

2.实现

2.1实现准备

在这里我通过一款软件,来实现准备设计来实现项目的计划样子。软件就是Pixos
在这里我希望你们在进行一个项目的设计之前一定要做一些前提准备,设计一个草图

2.2搭建前台页面

关于这个前端页面,相信各位的实力,应该不难
搭建好的前端页面如下:

2.3搭建后台服务器

2.3.1搭建后台

在项目中下载express npm i express --save

//搭建好了一个本地服务器
//端口号为8000
const express=require('express')
const fs=require('fs')
const app=express()
app.listen(8000,()=>{
    console.log("开启成功")
})

2.3.2后台处理要发送的数据

在后台需要发送的数据有两种
1.实时的年月日,以及当前的时间
2.实时的七天天气信息

2.3.2.1实时时间

通过实例化Date()函数就可以实现。
然后通过对应的函数获得时间信息。
然后对数据进行JSON化,发送时处理数据格式

在这里我们会设置一个接口,用于前端获取数据。
/timeDate接口

app.get('/timeDate',(req,res)=>{
	//用于处理跨域问题
    res.setHeader('Access-Control-Allow-Origin', '*');
    //响应头
    res.setHeader('Access-Control-Allow-Headers', '*');
   //实例化内置Date()库
    var time=new Date()
    //得到年
    const year=time.getFullYear()
    const mouth=time.getMonth()+1
    const day=time.getDate()
    const hour=time.getHours()
    const min=time.getMinutes()
    const second=time.getSeconds()
    //将数据json化,传输数据
    const TimeDate={year,mouth,day,hour, min,second}
    //向客户端发送数据
    res.send(JSON.stringify(TimeDate))
})

2.3.2.2七天天气信息

这个七天的信息都是通过网上数据得到的。

在官网天气官网你能获取每天的实时信息。
你也可以通过我创建的数据接口获得数据接口
由于考虑到请求的时间问题,我将数据存储在data.json中
用于来提高数据请求与发送的时间。

实现的就是通过fs模块读取数据,然后来得到数据,
创建接口,向前端发送数据

然后就是后台代码:

fs.readFile('./data.json',(err,data)=>{
    if(err) return console.log('err')
    let result=JSON.parse(data)
    app.get('/weatherDate',(req,res)=>{ 
        res.setHeader('Access-Control-Allow-Origin', '*');
        //响应头
        res.setHeader('Access-Control-Allow-Headers', '*');
        res.send(result)
    })
})

2.4前端处理获取的数据

2.4.1时间数据

我们要做的就是获得到时间数据。
将其展示到对应的位置。
1.时钟表 2.时间显示

先得到对应的DOM结构,然后设置js与css样式

处理流程就是:
绑定点击事件==》通过ajax获取接口数据==》得到对应的DOM接口 =+=》插入数据,设置css样式


//获得时,分,秒的DOM结构
const hours=document.querySelector(".hour")
const mins=document.querySelector('.min')
const seconds=document.querySelector('.seconds')
//获得六个空地方的DOM结构
const item1=document.querySelector('.item1')
const item2=document.querySelector('.item2')
const item3=document.querySelector('.item3')
const item4=document.querySelector('.item4')
const item5=document.querySelector('.item5')
const item6=document.querySelector('.item6')
//绑定点击事件
const bottom=document.getElementById('bottom')
bottom.addEventListener('click',timeshow)
function timeshow(){
    let xhr=new XMLHttpRequest()
    xhr.open("GET",'http://localhost:8000/timeDate')
    xhr.send()
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
            if (xhr.status >= 200 && xhr.status < 300) {
                //对请求的数据结构化
                let result =JSON.parse(xhr.response);
                //得到时
                let hour = result.hour
                const hourDeg = (hour / 12) * 360 + 90
                hours.style.transform = `rotate(${hourDeg}deg)`;
                //得到分
                let min = result.min
                const minDeg = (min / 60) * 360 + 90
                mins.style.transform = `rotate(${minDeg}deg)`
                //得到秒
                let second = result.second
                const secondDeg = (second / 60) * 360 + 90
                seconds.style.transform = `rotate(${secondDeg}deg)`
                
                //将数据插入指定的位置
                 item1.innerHTML =result.year
                 item2.innerHTML =result.mouth
                 item3.innerHTML = result.day
                 item4.innerHTML =result.hour
                 item5.innerHTML = result.min
                 item6.innerHTML = result.second
            } else {
                console.log("err")
            }
        }
    }
}

2.4.2天气信息

我只是获取了天气信息的data部分。
需要的数据就是。
1.七天的时间,以及他们对应的最高,最低温度
2.七天的温度,以及对应的温馨提示信息。
时间的高低我用柱状图表示。
温度及提示用饼图表示

设置echarts图表时,最重要的时data数据,其他的辅助信息可根据管网提示来设置

2.4.2.1时间数据处理

获得接口数据,得到对应的值

let xhr=new XMLHttpRequest()
    xhr.open("GET",'http://localhost:8000/timeDate')
    xhr.send()

    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
            if (xhr.status >= 200 && xhr.status < 300) {
 var result=JSON.parse(xhr.response)
 var data=result.data
 console.log(data)
 //由于得到的数据是数组,
 //而option的data数据的格式是json格式。
 //所以需要将数据加工
 const maxMINArr=data.map((item)=>{
       return {product:item.date,最低温度:item.tem1,最高温度:item.tem2}
  })
}
//echarts中的option的属性设置
 dataset: {
       dimensions: ['product', '最高温度', '最低温度'],
        source:maxMINArr
     },

2.4.2.2温度及提示

需要注意的是由于得到的数据是
数组,而echarts的option设置的数据
需要的是json类的形式,所以
需要对数据json化

let xhr=new XMLHttpRequest()
    xhr.open("GET",'http://localhost:8000/timeDate')
    xhr.send()

    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
            if (xhr.status >= 200 && xhr.status < 300) {
 var result=JSON.parse(xhr.response)
 const dataArr=data.map(item=>{
     return {value:item.tem,name:item.date,level:item.air_level,tips:item.index[3]}
 })

//echarts中的option的属性设置
tooltip:{
       show:true,
       //提示信息json化数据
      formatter: function(arg){
	 return arg.data.name+' : '+arg.data.value+'c'+' :  '+arg.data.level+' :  '+arg.data.tips.desc
      }
 },
series: [
   {
      name: 'Access From',
      type: 'pie',
      radius: '50%',
      data:dataArr,
       emphasis: {
       itemStyle: {
              shadowBlur: 10,
             shadowOffsetX: 0,
              shadowColor: 'rgba(0, 0, 0, 0.5)'
            }
        }
 }
 ]
 }

2.5效果展示

时间服务器

3.总结

1.了解node的fs模块怎么读取数据
2.了解express怎么搭建服务器,设置数据接口
3.学会echarts的设置与使用
4.了解怎么改变全局颜色
5.了解ajax怎么处理后台数据

到此这篇关于node+js搭建时间服务器的文章就介绍到这了,更多相关node时间服务器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

node+js搭建时间服务器的思路详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Node搭建https服务器实例详解

这篇文章主要介绍了Node搭建https服务器的方法,结合实例形式详细分析了创建ssl证书以及node.js调用https模块搭建https服务器的相关操作技巧,需要的朋友可以参考下
2023-05-18

详解Node.js利用node-git-server快速搭建git服务器

本文用到了node-git-server 1、检测本地git版本 该包的使用需要机器上本来就安装git,且git的版本大于等于2.7:?─root@lt /home/workspace ?─# git --version
2022-06-04

阿里云搭建服务器的时间分析

在现代社会中,服务器的搭建和使用已经成为了一个必不可少的环节。然而,对于非技术人员来说,搭建一个服务器往往需要花费大量的时间和精力。本文将分析在阿里云搭建一个服务器所需的时间,并为读者提供一些相关的建议和注意事项。一、阿里云服务器搭建时间分析在阿里云上搭建一个服务器,一般情况下需要以下步骤:注册阿里云账号:在阿里
阿里云搭建服务器的时间分析
2023-12-09

搭建阿里云Git服务器详解Git服务器的搭建与使用

本文将详细讲解如何在阿里云上搭建Git服务器,并说明如何在本地进行Git操作,以及如何在远程服务器上克隆和提交代码。Git服务器的搭建和使用不仅可以让团队成员之间的协作更加高效,而且还可以提高代码的版本管理能力。一、阿里云Git服务器的搭建阿里云提供了Git服务器的租赁服务,我们可以通过阿里云控制台进行操作。以下
搭建阿里云Git服务器详解Git服务器的搭建与使用
2023-10-30

搭建简单的nodejs http服务器详解

搭建简单的nodejs服务器 通过一些简单配置我们就可以搭建一台基于nodejs的http服务器 通过switch配置url路由的方法// 这是一个简单的Node HTTP服务器,能处理当前目录的文件 // 并能实现两种特殊的URL用于测试
2022-06-04

云服务器ecs和软路由搭建的区别是什么意思

云服务器(CloudStack)是一种虚拟化技术,它将计算资源(例如硬件、网络、服务器等)虚拟化为一个或多个物理服务器,通过互联网提供公共访问接口,并且不需要物理服务器的物理配置和维护,从而降低了运维成本和管理复杂度。云服务器可以提供高可靠性和高可用性,并且可以自动化地管理和扩展资源,同时还可以节省电力和空间等资源。因此,云服务器成为了许多企业和组织的选择,尤其是在高性能计算、大数据和分布式计
2023-10-26

Linux下搭建SFTP服务器的命令详解

1、创建用户并设置密码 useradd -s /bin/false sftpuser passwd sftpuser # 若需要多个sftp用户 新建sftp的用户组: groupadd sftp useradd -g sftp -m sf
2022-06-23

云服务器ecs和软路由搭建的区别是什么意思呀

云服务器(CloudStack)是一种虚拟化技术,它将计算资源(例如硬件、网络、计算机资源等)分发给服务器,然后由服务器通过软件实现虚拟机之间的通信和交互,以实现资源的动态调度和分配,从而提高服务器的利用率和性能。与之相对的是软路由(Soft-Route),它是一种使用软件技术实现网络路由和转发的技术。软路由使用软件来路由数据包,并在需要时将其重定向到目标主机,从而实现网络路由的目的,但是它也
2023-10-26

详解CentOS搭建web服务器时需注意的防火墙设置

在搭建Web服务器时,CentOS的防火墙设置是非常重要的,下面是一些需要注意的防火墙设置:1. 允许HTTP和HTTPS流量:Web服务器通常使用HTTP(端口80)和HTTPS(端口443)来提供服务,因此需要确保防火墙允许这两种流量通
2023-10-09

Nodejs 搭建简单的Web服务器详解及实例

使用 Nodejs 搭建简单的Web服务器 使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块、文件系统、url解析模
2022-06-04

谷歌云服务器搭建ssr超时怎么解决的

1.检查服务器配置首先,您需要检查您的谷歌云服务器配置是否足够强大,以支持您的SSR服务。如果您的服务器配置太低,可能会导致超时问题。您可以尝试升级您的服务器配置,以提高服务器性能。2.检查网络连接其次,您需要检查您的服务器的网络连接是否正常。您可以使用ping命令测试您的服务器是否能够正常连接。如果您的服务器无法连接,您可以尝试重新启动服务器或联系您的云服务提供商以获取帮助。3.检查防火墙设置第三,您需要...
2023-10-27

linux搭建NFS文件共享服务器的步骤详解

linux搭建NFS服务器 为了实现不同操作系统中的数据共享,我们一般会搭建一些用于文件共享的服务器,nfs服务器就是其中一种,它实现的是linux与linux之间的共享。今天我将把如何在linux系统搭建nfs服务器的步骤分享出来,供大家
2022-06-04

阿里云服务器搭建虚拟机的步骤详解

简介:这篇文章将详细介绍如何在阿里云服务器上搭建虚拟机。我们将详细讲解购买阿里云服务器的步骤,以及在服务器上安装和配置虚拟机的操作。正文:首先,我们需要购买阿里云服务器。打开阿里云官方网站,选择适合我们的服务器类型和配置。在购买页面,我们需要填写相关的个人信息,包括联系人信息、支付方式等,然后提交订单。在购买过程中,我
阿里云服务器搭建虚拟机的步骤详解
2024-01-26

图文详解Ubuntu搭建Ftp服务器的方法(包成功)

一、今天下午由于课程的要求不得已做了Ubuntu搭建Ftp服务器的实验,但是实验指导书还是N年前的技术,网上搜了一大把,都是模模糊糊的! 在百般困难中终于试验成功,特把经验分给大家 希望大家少走弯路! 二、详细步骤如下: (1)首先打开终端
2022-06-04

CentOS搭建web服务器的方法及注意事项详解

搭建Web服务器是在CentOS上部署网站的一种常见方式。以下是搭建Web服务器的方法及注意事项的详细解释:步骤1:安装必要的软件包在CentOS上搭建Web服务器之前,您需要安装一些必要的软件包。其中最常用的是Apache HTTP服务器
2023-10-09

利用阿里云搭建邮件服务器的步骤与详解

随着互联网的快速发展,邮件服务器在企业通信中扮演着重要的角色。但是,搭建邮件服务器是一项复杂且耗时的任务,需要掌握一定的技术和经验。本文将详细说明如何利用阿里云搭建邮件服务器,包括服务器购买、配置和测试等步骤。步骤一:购买阿里云服务器首先,你需要在阿里云上购买一个适合的服务器。你可以根据你的需求选择不同的配置和类
利用阿里云搭建邮件服务器的步骤与详解
2023-12-17

编程热搜

目录