当前位置: 首页 > news >正文

Node-创建Web应用

题记

        node创建web应用,以下是所有流程和代码

        与php比较:使用 PHP 来编写后端的代码,需要 Apache 或者 Nginx 的 HTTP 服务器,并配上 mod_php5 模块和 php-cgi。

Node应用的组成

        node应用由三部分组成:

  1. require 指令:在 Node.js 中,使用 require 指令来加载和引入模块,引入的模块可以是内置模块,也可以是第三方模块或自定义模块。

  2. 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。

  3. 接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。

 

使用 require 指令来加载和引入模块 

         const 自定义变量名 = require("模块名");

        模块名可以是一个文件路径(相对或绝对路径),也可以是一个模块名称,如果是一个模块名称,Node.js 会自动从 node_modules 目录中查找该模块。 

        require 指令会返回被加载的模块的导出对象,可以通过该对象来访问模块中定义的属性和方法,如果模块中有多个导出对象,可以使用解构赋值的方式来获取它们。

创建服务器 

        使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。 

        创建main.js文件:

//请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量
var http = require('http');

//调用 http 模块提供的函数: createServer 。
//这个函数返回一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数,指定这个 HTTP 服务器监听的端口号。
http.createServer(function (request, response) {

    // 发送 HTTP 头部 
    // HTTP 状态值: 200 : OK,内容类型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});

    // 发送响应数据 "Hello World"
    response.end('Hello World\n');
}).listen(8888);

// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
 

//请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量
var http = require('http');//调用 http 模块提供的函数: createServer 。
//这个函数返回一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数,指定这个 HTTP 服务器监听的端口号。
http.createServer(function (request, response) {// 发送 HTTP 头部 // HTTP 状态值: 200 : OK,内容类型: text/plainresponse.writeHead(200, {'Content-Type': 'text/plain'});// 发送响应数据 "Hello World"response.end('Hello World\n');
}).listen(8888);// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

执行程序

        node main.js

后记 

        觉得有用可以点赞或收藏!

 

相关文章:

Node-创建Web应用

题记 node创建web应用,以下是所有流程和代码 与php比较:使用 PHP 来编写后端的代码,需要 Apache 或者 Nginx 的 HTTP 服务器,并配上 mod_php5 模块和 php-cgi。 Node应用的组成 node应用由三部分组成: require 指令&a…...

Redis查找并删除key

redis安装在IP为x.x.x.x的服务器上 redis安装 第一步,安装编译工具及库文件。 命令:yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel 第二步,下载redis安装包。 命令:cd /usr/local/src wget ht…...

Spring Security认证架构介绍

在之前的Spring Security:总体架构中,我们讲到Spring Security整个架构是通过Bean容器和Servlet容器对过滤器的支持来实现的。我们将从过滤器出发介绍Spring Security的Servlet类型的认证架构。 1.AbstractAuthenticationProcessingFilter AbstractAut…...

提升代码重用性:模板设计模式在实际项目中的应用

在软件开发中,我们经常面临着相似的问题,需要使用相同的解决方法。当我们希望将这种通用的解决方法抽象出来,并在不同的情境中重复使用时,就可以使用设计模式中的模板模式(Template Pattern)。模板模式是一…...

11-k8s-service网络

文章目录 一、网络相关资源介绍二、开启ipvs三、nginx网络示例四、pod之间的访问示例五、service反向代理示例 一、网络相关资源介绍 Servcie介绍 Service是对一组提供相同功能的Pods的抽象,并为它们提供一个统一的入口。借助Service,应用可以方便的实现…...

MyBatisPlus(二十二)代码生成器

使用场景 使用代码生成器&#xff0c;根据数据库表&#xff0c;自动生成对应的 Entity&#xff0c;Mapper&#xff0c;Service&#xff0c;Controller 。 代码 依赖 两个依赖&#xff1a; 生成器依赖模板依赖 <dependency><groupId>com.baomidou</groupId&…...

git报错The project you were looking for could not be found 解决方式

问题描述&#xff1a; 使用git从远程仓库克隆项目到本地的时候。 git clone http://gitlab.com/project/xxxx.git出现这个问题&#xff1a;The project you were looking for could not be found. 原因分析&#xff1a; 你的账号没有项目的权限&#xff0c;你可以在浏览器输…...

“编辑微信小程序与后台数据交互与微信小程序wxs的使用“

引言 在现代移动应用开发中&#xff0c;微信小程序已经成为了一个非常流行和广泛使用的平台。为了使小程序能够展示丰富的内容和实现复杂的功能&#xff0c;与后台数据的交互是至关重要的。同时&#xff0c;微信小程序还提供了一种特殊的脚本语言——wxs&#xff0c;用于增强小…...

从Linux的tty_struct指针获取驱动上下文

背景 问题 前段时间开发一个tty驱动&#xff0c;用途是实现仪器对GPIB消息的接收、处理和上报。对于上报场景&#xff0c;下位机应用将上报内容写入一个驱动创建的tty设备&#xff0c;tty子系统将应用的输入转发给tty驱动&#xff0c;tty驱动将其转换成对SPI从设备&#xff0…...

PHP WAP餐厅点餐系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP餐厅点餐系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 PHP WAP餐厅点餐系统 代码 https://download.csdn.net/download/qq_41221322/88440001 二、…...

智慧公厕改变城市生活,厕所革命标杆应用解决方案

随着城市化进程的加快&#xff0c;公厕作为城市基础设施的重要组成部分&#xff0c;扮演着不可忽视的角色。然而&#xff0c;传统的公厕粗放型管理模式&#xff0c;已经无法满足市民日益增长的需求。为了提升公厕的管理和服务水平&#xff0c;智慧公厕应运而生。 什么是智慧公…...

YOLOv5改进实战 | 更换主干网络Backbone(四)之轻量化模型MobileNetV3

前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…...

上新啦!请查收云原生虚拟数仓 PieCloudDB 十月动态

PieCloudDB Database 最新动态 PieCloudDB 压缩效率得到提升 为了节省存储空间&#xff0c;降低用户存储费用&#xff0c;PieCloudDB 在压缩率上不断优化&#xff0c;包括&#xff1a; 对 HLL&#xff08;HyperLogLog&#xff09;支持游程编码&#xff08;Run Length Encodi…...

第五章:Python中的集合(上)

Python中的集合 是一组不可重复元素的无序集合。集合通常用于在其中执行成员测试,删除重复项,计算交集、并集和差集等操作。 Python的集合是可迭代对象。具体来说,集合可以通过for循环逐个访问其中的元素。同时,集合还支持一些迭代器相关的方法,例如iter()函数和next()函…...

虚拟机灾备建设中NFS存储直接访问技术应用

NFS&#xff08;Network File System&#xff09;是一种网络文件系统&#xff0c;允许不同计算机之间共享文件和目录。在Linux系统中&#xff0c;可以使用NFS协议来访问网络存储。 当新服务器硬盘不足时&#xff0c;旧的服务器硬盘容量大&#xff0c;不拔硬盘的情况下&#xf…...

java业务开发常用的配置表及代码

配置表 通过配置表&#xff0c;灵活的配置。 开发中某些经常变更的参数值&#xff0c;加上配置。比如 订单30分钟后失效&#xff0c;需求变更&#xff0c;要改为15分钟&#xff0c;那么直接改配置表就行了&#xff0c;不用发版。 某些关键的容易出错的逻辑&#xff0c;加上一…...

安装Homebrew安装Git(Mac)

使用Homebrew安装Git&#xff08;Mac&#xff09; 1 安装Xcode 安装Homebrew之前&#xff0c;需要安装Xcode Comand Line Tools&#xff1a; xcode-select --install 2 安装Homebrew /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mas…...

[云原生1.] Docker容器的简单介绍和基本管理

文章目录 1. Docker容器的基本概述1.1 简介1.2 容器的优点1.3 Docker与虚拟机的区别1.4 Docker核心组成1.4.1 镜像1.4.2 容器1.4.3 仓库 1.5 容器在内核中支持2种重要技术1.5.1 linux六大namespace&#xff08;命名空间&#xff09; 1.6 Docker的使用场景 2. Docker的部署2.1 前…...

JSR303数据校验

Component //注册bean ConfigurationProperties(prefix "person") Validated //数据校验 public class Person { Email(message"邮箱格式错误") //name必须是邮箱格式 private String name; } 使用数据校验&#xff0c;可以保证数据的正确性&#xff01;…...

JavaCV + FFmpeg 播放音视频

JavaCV FFmpeg 播放音视频 1、导入JavaCV库1.1 使用ffmpeg必要库1.2 简单FFmpeg命令 待续~~~~ FFmpeg documentation bytedeco/javacv - GitHub 1、导入JavaCV库 gradle下面这种会导入javacv-platform所有包&#xff0c;非常耗时&#xff1a;https://repo.maven.apache.org/…...

告别虚拟机!用WSL2 + VSCode在Windows上打造丝滑的C++开发环境(保姆级配置)

告别虚拟机&#xff01;用WSL2 VSCode在Windows上打造丝滑的C开发环境 还在忍受虚拟机卡顿、资源占用高的折磨&#xff1f;Windows开发者终于迎来了终极解决方案——WSL2与VSCode的黄金组合。这不仅是技术栈的升级&#xff0c;更是开发体验的革命。想象一下&#xff1a;在Wind…...

20260423给万象奥科的开发板HD-RK3576-PI适配瑞芯微原厂的Buildroot时使用weston-screenshooter截屏

Y:\git_RK3576_Linux6.1\buildroot\package\weston\S49weston Y:\git_RK3576_Linux6.1\buildroot\output\rockchip_rk3576\target\etc\init.d\S49weston20260423给万象奥科的开发板HD-RK3576-PI适配瑞芯微原厂的Buildroot时使用weston-screenshooter截屏 2026/4/23 9:081、RK35…...

避坑指南:在x86服务器或FPGA项目中配置PCIe Switch时,关于VC数量与TC映射的那些坑

避坑指南&#xff1a;x86与FPGA系统中PCIe Switch的VC配置与TC映射实战解析 在数据中心加速卡、AI训练集群或高频交易系统的硬件架构中&#xff0c;PCIe交换机的配置质量直接决定着系统能否发挥理论性能。笔者曾亲历某GPU集群因VC映射错误导致训练吞吐量骤降40%的案例——当8块…...

别再只写“人”看了!企业GEO优化的四大核心要素,让你的品牌成为AI的“默认答案”

AI不会因为你的文采而感动&#xff0c;它只关心能不能在0.1秒内从你的内容里挖出它要的数据和答案。最近和不少做技术出海和B2B营销的朋友聊天&#xff0c;大家都有一个共同的焦虑&#xff1a;内容发了不少&#xff0c;文案也打磨得很漂亮&#xff0c;逻辑结构也算清晰。但无论…...

Python FastAPI 并发请求调度机制

Python FastAPI 并发请求调度机制解析 在当今高并发的互联网应用中&#xff0c;如何高效处理大量请求成为开发者关注的焦点。Python FastAPI凭借其异步特性和高性能&#xff0c;成为构建现代API的热门选择。其并发请求调度机制尤其值得深入探讨&#xff0c;它能显著提升应用的…...

老项目复活记:解决那些年我们遇到的Gradle SSL连接重置问题(附多种环境配置)

老项目复活指南&#xff1a;全方位攻克Gradle SSL连接重置难题 接手一个尘封多年的Android或Flutter项目时&#xff0c;最令人头疼的莫过于构建过程中突然跳出的SSL连接错误。那些红色报错信息仿佛在嘲笑我们与时代脱节的开发环境。本文将带您深入剖析这一经典问题的根源&#…...

Index-AniSora未来展望:从当前版本到下一代动漫视频生成技术

Index-AniSora未来展望&#xff1a;从当前版本到下一代动漫视频生成技术 【免费下载链接】Index-anisora 项目地址: https://gitcode.com/gh_mirrors/in/Index-anisora Index-AniSora作为开源动漫视频生成技术的领先项目&#xff0c;正在通过持续迭代推动AI创作领域的边…...

告别测试心慌慌!用MFQPPDCS海盗派测试法,搞定新业务模块的完整覆盖

告别测试心慌慌&#xff01;用MFQ&PPDCS海盗派测试法搞定新业务模块完整覆盖 接手新业务模块时&#xff0c;测试工程师常陷入"测不全"的焦虑——既担心遗漏核心场景&#xff0c;又害怕在边缘用例上浪费资源。这种"测试心慌症"背后&#xff0c;实质是缺…...

高通Camera HAL3开发调试:手把手教你给CAMX节点添加YUV/RAW数据Dump功能

高通Camera HAL3深度调试&#xff1a;CAMX节点YUV/RAW数据Dump实战指南 在移动影像系统的开发中&#xff0c;数据验证环节往往决定着整个图像处理管道的可靠性。当算法效果出现偏差、图像出现异常时&#xff0c;开发者最需要的是能够直接获取原始数据的能力。本文将深入探讨如何…...

抖音批量下载神器:免费无水印视频一键获取完整方案

抖音批量下载神器&#xff1a;免费无水印视频一键获取完整方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support.…...