NodeJS 了解和快速入门 - 实现 http 服务 操作 mysql

news2025/1/15 22:44:58

目录

1. 介绍 NodeJS

2. NodeJS 快速入门

3. NodeJS 实现 Httpserver 服务

4. NodeJS 操作 MySQL 数据库


1. 介绍 NodeJS

1. Node 是一个让 JavaScript 运行在服务端的开发平台, 它让 JavaScript成为与 PHP, Python, Perl, Ruby 等服务端语言平起平坐的脚本语言, 发布于 2009 年 5 月, 由 Ryan Dahl 开发, 实质是对 Chrom V8 引擎进行了封装.

2. 简单的说 Node.js 就是运行在服务器端的 JavaScript. Node.js 是一个基于 chrom  JavaScript 运行时建立的一个平台

3. Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好

2. NodeJS 快速入门

我们安装好 NodeJS 之后, 就可以来简单实现一下它的hello word程序了.

1. 创键 helloword.js 

console.log('hello word~');

这一行代码就类似于 Java 中的 Sysytem.out.println("hello word~");

运行 : 直接在 VSCode 终端输入 node helloword.js

3. NodeJS 实现 Httpserver 服务

1. 创建 Httpserver.js

2. 创建一个 httpserver 服务

3. 监听一端口 8888

4. 启动运行服务 node httpserver.js

5. 在浏览器访问 http://localhost:8888

// 导入模块使用 require, 类似于Java中的 import
const http = require('http');

http.createServer(function(request,response) {
    // 浏览器如何认识 hello word ?
    // 发送 Http 的头部, 状态码:200, 内容类型:'text/html'
    response.writeHead(200, {'Content-type':'text/html'});
    // 发送响应数据
    response.end("<h1>hello word</h1>");
}).listen(8888); // 监听

console.log("你启动的服务器是: http://localhost:8888已启动成功~");

4. NodeJS 操作 MySQL 数据库

前面我们所使用 http 模块是属于 nodejs 的内置模块所以可以直接引入, 而 MySQL 在 NodeJS 中属于第三方模块, 我们要使用它就得先安装 mysql 依赖, 安装下来的依赖都会放在 node_modules 包下. 类似于我们在 maven 项目中去中央仓库下载依赖一样.

1. 安装mysql依赖

npm install mysql

2. 创建 db.js 并实现

1. 创建一个 mysql 的连接对象

2. 配置数据库连接的信息

3. 开辟连接

4. 执行 CURD

5. 关闭连接

6. 运行 node mysql.js 查看效果

// 导入mysql依赖包
let mysql = require("mysql");

// 创建一个mysql的Connection对象并配置
let connection = mysql.createConnection({
    host:'127.0.0.1',
    user:'root',
    port:3306,
    password:'123456',
    database:'bb'
});

// 开辟连接
connection.connect();

// 执行 CURD
connection.query("select * from booklist",function(error,results,fields){
    // 如果查询出错, 直接抛出
    if(error) throw error;
    // 查询成功
    console.log("results = ",results);
});

// 关闭连接
connection.end();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/678965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址&#xff1a;尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】尚硅谷…

VUE L 表单数据过滤器 ⑨

目录 文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹支持✨ V u e j s Vuejs Vuejs收集表单数据过滤器 使用 C o o k i e Cookie Cookie 影响总结 文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹…

如何将Springboot项目升级成Springcloud项目

本文以nacos为例 分为以下几个步骤 1. 下载nacos软件 2. pom文件配置 3. application.yml文件配置 4. 代码调用 5. 效果展示 一 . 下载nacos软件 1.1 下载nacos-server-2.2.0-BETA这个版本 1.2 修改nacos配置文件 打开bin目录下的startup.cmd&#xff0c;将第26行的 set MO…

【计算机网络】第二章 物理层(下)

文章目录 2.5 信道的极限容量2.5.1 奈氏准则2.5.2 香农公式2.5.3 练习题 2.6 章节小结2.7 章节习题 2.5 信道的极限容量 2.5.1 奈氏准则 理想低通信道的最高码元传输速率 2W Baud 2W 码元 / 秒 理想带通信道的最高码元传输速率 W Baud W 码元 / 秒 W : 信道带宽&#xff08…

OZON、雅虎自养号测评如何塑造伪装度极高的测评环境

在测评领域&#xff0c;每个卖家和工作室都深知&#xff1a;创建安全可靠的网络环境对于未来发展是至关重要的。如何打造一个伪装度极高的评测环境&#xff0c;这一问题始终困扰着许多人。 从早期的虚拟机、模拟机、云手机、VPS等系统方案成本高且成号率低。因此&#xff0c;一…

php对接微信公众号扫码登录开发实录(H5微信扫描登录、服务出现故障调试、模版消息设置、扫码轮询交互)

微信公众号扫码登录开发实录 前言一、服务器配置1.微信公众号配置2.本地服务器验证程序 二、生成登录二维码1.生成微信登录二维码2.封装成便于刷新的函数 三、扫码验证和交互四、模版消息设置五、开发中遇见的问题1.该公众号提供的服务出现故障&#xff0c;请稍后再试&#xff…

区分 scanf和printf、fscanf和fprintf、sscanf和sprintf函数

文章目录 前言scanf和printffscanf和fprintfsscanf和sprintf总结 前言 C语言中&#xff0c;许多函数的函数名过于相似&#xff0c;使用者要是不能很好地区分这些函数&#xff0c;就会造成误用&#xff0c;最终导致代码的结果大相径庭。对于scanf和printf函数、fscanf和fprintf…

Xcode 15 beta 2 (15A5161b) 发布下载 - Apple 平台 IDE (visonOS 1 beta 已发布)

Xcode 15 beta 2 (15A5161b) 发布下载 - Apple 平台 IDE (visonOS 1 beta 已发布) IDE for iOS/iPadOS/macOS/watchOS/tvOS/visonOS 此版本已加入 visonOS 支持。 请访问原文链接&#xff1a;https://sysin.org/blog/apple-xcode-15/&#xff0c;查看最新版。原创作品&#…

UWB测距方案|3C门店展示防丢报警方案,优化防盗设计提升购机体验

目前市场上最常见的3C产品&#xff08;如手机&#xff0c;平板电脑&#xff0c;电脑等&#xff09;展示防盗是采用有线防盗技术&#xff0c;即底座&#xff0c;防盗线以及警报触头组成。以线下手机营业厅为例&#xff0c;防盗线的长度直接限制了体验者的活动范围&#xff0c;没…

【VC 7/8】vCenter Server 更新(小版本升级)Ⅲ—— VC更新命令行工具 software-packages 更新命令说明

目录 3. software-packages 更新命令说明&#xff08;1&#xff09;查看 VCSA 中所有已安装的修补程序列表ⅰ 查看 VCSA 中已安装的修补程序和软件包的完整列表ⅱ 要按时间顺序查看已应用到 VCSA的所有修补程序ⅲ 要查看特定修补程序的详细信息 &#xff08;2&#xff09;将修补…

Centos7系统安装Docker

目录 1.Docker安装 1.安装Docker 2.启动Docker 2.Docker相关服务及配置镜像加速器 1.Docker安装 1.安装Docker 输入命令curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun进行安装 安装结束后&#xff0c;输入docker -v查看安装的docker版本 2.启动D…

【文献分享】基于边界点优化和多步路径规划的机器人自主探索

论文题目&#xff1a;Autonomous Robotic Exploration Based on Frontier Point Optimization and Multistep Path Planning 中文题目&#xff1a;基于边界点优化和多步路径规划的机器人自主探索 作者&#xff1a;Baofu Fang &#xff1b;Jianfeng Ding ; Zaijun Wang 作者机…

Elasticsearch:redact processor - 编辑处理器

警告&#xff1a;此功能处于技术预览阶段&#xff0c;可能会在未来版本中更改或删除。 Elastic 将尽最大努力解决任何问题&#xff0c;但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 Redact 处理器使用 Grok 规则引擎来模糊输入文档中与给定 Grok 模式匹配的文本。…

VMware虚拟机在Mac上安装

文章目录 下载链接2 下载CentOS操作系统 下载链接 点击下载官网VMware有30天免费试用&#xff0c;我们点击试用&#xff0c;如果后期需要再购买就可以了 也可以选择player版&#xff0c;免费注册然后下载&#xff0c;不用钱 注册好后会给你生成一个许可证密钥 2 下载CentOS操…

VSCode gdb 调试 qemu u-boot 的方法

前言 最近使用 VS Code GDB 调试 qemu&#xff0c;有了一点收获&#xff0c;u-boot 编译后生成了一个 elf 文件&#xff1a;u-boot&#xff0c;是否也可以调试一下&#xff1f; 为何需要 VS Code GDB 调试&#xff0c;直接 gdb 调试不就可以了吗&#xff1f;答案就是&#xff…

区块链技术的应用与前景展望

第一章&#xff1a;引言 在当今数字化时代&#xff0c;区块链技术作为一项前沿技术正迅速崭露头角&#xff0c;并在各个行业展现出巨大的潜力。区块链技术不仅仅是比特币和其他数字货币的基石&#xff0c;更是一种分布式、去中心化的记账和验证技术。本文将探讨区块链技术的应…

Matlab评价模型-TOPSIS法(优劣解距离法)

评价模型-TOPSIS法(优劣解距离法) 1.1 概念 TOPSIS 法是一种常用的组内综合评价方法&#xff0c;能充分利用原始数据的信息&#xff0c;其结果能精确地反映各评价方案之间的差距。基本过程为基于归一化后的原始数据矩阵&#xff0c;采用余弦法找出有限方案中的最优方案和最劣…

C++14部分新特性

文章目录 1、lambda表达式2、constexpr关键字3、函数返回类型推导4、变量模版5、二进制字面值6、数字分位符7、通过类型寻址多元组8、make_unique 1、lambda表达式 C14提供了在lambda式的形参声明中使用auto的能力 泛型 lambda&#xff1a;C14 中的 lambda 表达式可以使用模板…

可维护的代码,高复用性之路:函数式编程带你飞

文章目录 I. 前言介绍函数式编程引言&#xff1a;为什么需要函数式编程 II. 函数式编程基础声明式编程和命令式编程比较纯函数&#xff1a;概念&#xff0c;优点和局限性不可变数据&#xff1a;概念&#xff0c;优点和局限性 III. 函数式编程优点易于理解和调试代码可以提高代码…

Matlab数学建模-典型相关分析

统计分析-典型相关分析 概念 典型相关分析是研究两个多变量&#xff08;向量&#xff09;之间之间的线性相关关系&#xff0c;能够揭示出两组变量之间的内在联系。 CCA(典型相关分析) 在一元统计分析中&#xff0c;用相关系数来衡量两个随机变量的线性相关关系&#xff0c;…