返回顶部
首页 > 资讯 > 服务器 >node+js搭建时间服务器的思路详解
  • 162
分享到

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

2024-04-02 19:04:59 162人浏览 泡泡鱼
摘要

目录时间服务器1.思路准备1.1思路来源1.2思路前提要求1.3技术要求2.实现2.1实现准备2.2搭建前台页面2.3搭建后台服务器2.3.1搭建后台2.3.2后台处理要发送的数据2

时间服务器

时间服务器

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时间服务器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: node+js搭建时间服务器的思路详解

本文链接: https://lsjlt.com/news/165168.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • node+js搭建时间服务器的思路详解
    目录时间服务器1.思路准备1.1思路来源1.2思路前提要求1.3技术要求2.实现2.1实现准备2.2搭建前台页面2.3搭建后台服务器2.3.1搭建后台2.3.2后台处理要发送的数据2...
    99+
    2024-04-02
  • Node搭建https服务器实例详解
     本文旨在分享搭建https服务器的过程,具体知识点以及相关概念请自行查询。 第一步:创建文件目录如下,在index中引用外部的script.js文件,server.js是...
    99+
    2023-05-18
    Node 搭建 https 服务器
  • Windows搭建NTP服务器——搭建时间同步服务器
    本环境搭建环境是windows2012R2 在Windows 服务器下,按住“ windows+r ”打开“运行”对话框,输入regedit,点击“确定”打开注册表。 依次打开HKEY_...
    99+
    2023-09-22
    服务器 windows Powered by 金山文档
  • 使用 Koa + TS + ESLlint 搭建node服务器的过程详解
    目录初始化项目环境准备安装环境初始化 tsconfig.json简单搭建 Koa 服务器完整项目搭建依赖安装构建目录结构修改 package.json代码规范eslintpretti...
    99+
    2024-04-02
  • 详解Node.js利用node-git-server快速搭建git服务器
    本文用到了node-git-server 1、检测本地git版本 该包的使用需要机器上本来就安装git,且git的版本大于等于2.7: ─root@lt /home/workspace ─# gi...
    99+
    2022-06-04
    详解 快速 服务器
  • 怎么搭建一个时间服务器
    这篇文章主要介绍了怎么搭建一个时间服务器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、环境要求(客户端和服务器都要安装chrony)需要两台或多台虚拟机来充当服务端和客户...
    99+
    2023-06-29
  • 云服务器网络搭建方案设计思路
    云服务器网络搭建方案的设计需要考虑到以下几个方面: 网络结构设计:需要确定一个合理的网络结构,确保在云服务器上的应用程序可以快速和稳定地访问互联网。可以考虑使用VLAN(虚拟私有网络)来划分不同的网络。 防火墙和网络安全:需要使用防火墙...
    99+
    2023-10-26
    方案设计 思路 服务器
  • 阿里云搭建服务器的时间分析
    在现代社会中,服务器的搭建和使用已经成为了一个必不可少的环节。然而,对于非技术人员来说,搭建一个服务器往往需要花费大量的时间和精力。本文将分析在阿里云搭建一个服务器所需的时间,并为读者提供一些相关的建议和注意事项。 一、阿里云服务器搭建时间...
    99+
    2023-12-09
    阿里 服务器 时间
  • 搭建云服务器需要多长时间
    搭建云服务器需要一定的时间和精力,具体的时间取决于您选择的云计算服务提供商的资源和技术水平。 通常,搭建一个基本的云服务器可能只需要几个小时到几天的时间,而更高级的云服务可能需要更长的时间,例如虚拟化技术或大数据分析等。在选择云计算服务提...
    99+
    2023-10-26
    服务器 需要多长时间
  • 阿里云服务器搭建Node环境详细教程
    阿里云服务器是阿里云提供的高性能、可扩展的云计算产品,可以帮助企业快速搭建和扩展应用程序,节省IT运维成本。本教程将详细介绍如何在阿里云服务器上搭建Node环境,以满足开发需求。 步骤一:创建阿里云服务器首先,你需要在阿里云平台上创建一个...
    99+
    2023-11-02
    阿里 环境 服务器
  • node通过express搭建自己的服务器
    前言 为了模拟项目上线,我们就需要一个服务器去提供API给我们调用数据。这次我采用express框架去写API接口。所有请求都是通过ajax请求去请求服务器来返回数据。第一次用node写后端,基本就是摸着石...
    99+
    2022-06-04
    自己的 服务器 node
  • 详解Linux搭建DNS服务器
    1.DNS服务器概念 在互联网上通信需要借助于IP地址,但人类对于数字的记忆能力远不如文字,那么将IP地址转换成容易记忆的文字是个好办法,可是计算机只能识别0、1代码,这时就需要一种机制来解决IP地址与主机名的转换问题,...
    99+
    2022-06-04
    Linux搭建DNS服务器 Linux如何搭建DNS服务器 Linux下搭建DNS服务器 Linux - DNS服务器搭建
  • 教你如何搭建一个时间服务器
    目录1、环境要求(客户端和服务器都要安装chrony)2、寻找一个可靠的时间服务器地址3、编辑服务端的chrony配置文件1、环境要求(客户端和服务器都要安装chrony) 需要两台...
    99+
    2024-04-02
  • AWS云服务器搭建需要多长时间
    AWS云服务器搭建需要比较复杂的步骤,一般需要以下几个步骤: 购买云服务器:选择一台适合您的云服务器并支付款项。这可能需要先进行一次预订,以确保它符合要求。 选择云服务器供应商:您可以在亚马逊网站上找到许多云服务器提供商,包括 AWS、...
    99+
    2023-10-26
    服务器 需要多长时间 AWS
  • 详解用node搭建简单的静态资源管理器
    本文介绍了用node搭建简单的静态资源管理器,分享给大家,具体如下: 我么都知道,老牌的3p服务器都是自带静态资源管理器的。但是node不同,它没有web容器,它的路由地址和真实地址可以没有联系,所有no...
    99+
    2022-06-04
    资源管理器 静态 详解
  • 在.NET程序崩溃时自动创建Dump的思路详解
    目录Windows平台.NET Core全平台试一试总结参考文献今天在浏览张队转载文章的留言时,遇到一个读者问了这样的问题,如下图所示: 首先能明确的一点是"程序崩溃退出...
    99+
    2022-11-13
    .net程序崩溃自动创建Dump .net程序崩溃
  • 搭建阿里云Git服务器详解Git服务器的搭建与使用
    本文将详细讲解如何在阿里云上搭建Git服务器,并说明如何在本地进行Git操作,以及如何在远程服务器上克隆和提交代码。Git服务器的搭建和使用不仅可以让团队成员之间的协作更加高效,而且还可以提高代码的版本管理能力。 一、阿里云Git服务器的搭...
    99+
    2023-10-30
    服务器 阿里 详解
  • 详解如何搭建GitHub服务器
    GitHub是全球最受欢迎的代码托管平台之一,拥有数百万的注册用户和数百万的开源代码库。但是,对于企业或个人而言,将代码托管在自己的服务器上可以提高安全性和数据控制性。因此,本文将会介绍如何搭建GitHub服务器。一、环境准备1.硬件准备G...
    99+
    2023-10-22
  • 搭建云服务器需要多长时间完成
    搭建云服务器需要花费较长时间来准备和构建,这取决于您选择的云计算提供商和所采用的技术和服务。 通常,云计算提供商会在网站上发布一段简单的指南,指导您准备所需的所有组件,例如服务器、存储设备和网络连接。这些通常需要几个小时到几天的时间。 在...
    99+
    2023-10-26
    服务器 需要多长时间
  • 搭建一个云服务器需要多久时间
    云服务器是一种虚拟的基础设施服务,需要搭建云服务器需要一定的时间和技术。以下是一些通用的云服务器搭建时间限制: 选择一个提供云服务的公司。通常来说,云服务器提供商提供的云服务会有不同的服务级别,例如数据存储和备份等。选择一家公司可以帮助...
    99+
    2023-10-27
    多久 服务器 时间
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作