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

【Node.js入门】1.3 开始开发Node.js应用程序

1.3 开始开发Node.js应用程序

学习目标

(1)熟悉开发工具Visual Studio Code的基本使用;
(2)掌握Node.js应用程序的编写、运行和调试的基本方法。

构建第一个 Node.js应用程序

代码

const http = require("http");//导入http模块const httpServer = http.createServer(function(req,res){//设置响应头信息Content-Type设置为"text/html",//这样浏览器就会将响应内容解析为HTML。res.writeHead(200,{'Content-Type' : 'text/html'});// 发送响应数据res.end("<h1>hello world !</h1>")
})const port = 3000;
httpServer.listen(port,function(){//向终端输出如下信息console.log(`服务器,已启动: http://localhost:${port}`);
})

运行测试

在终端窗口中运行程序进行测试,并通过浏览器访问Web应用程序访问测试。
node运行hello world.js

运行 Node.js 程序

使用node命令运行Node.js程序

  • node命令语法
    node [Sections] [ -e script | script.js | - ] [arguments]
  • 运行当前目录下的index.js脚本文件,可以使用点号代替index.js: node . 相当于 node index.js
    在这里插入图片描述
  • 按下+组合键终止正在运行的Node.js程序。
  • 选项-e(–eval)表示直接执行某语句:
    node -e "console.log('Hello World!);"

使用npm命令运行Node.js程序

//test.js
console.log("test")
//demo.js
console.log("demo")
package.json
{"name": "ch02","version": "1.0.0","description": "","main": "index.js","scripts": {"start": "node demo.js","test": "node test.js"}
}
演示动图

在这里插入图片描述

使用nodemon热启动

什么是nodemon :nodemon是一个用于开发环境的Node.js应用程序的工具,它可以监视文件改动并自动重启Node.js程序 。

  • 安装该模块
    npm i nodemon -g
  • 监控并运行Node.js程序
    nodemon your-app.js

调试 Node.js 程序

使用日志工具进行调试

  • 使用console.log()方法检查变量或字符串的值,记录脚本调用的函数,或记录来自第三方服务的响应。
  • 使用console.warn()或console.error()方法记录警告或错误信息。

使用Node.js内置调试器

Node.js内置一个进程外的调试实用程序,可通过V8检查器和内置调试客户端访问。

第一步:需要先在代码中插入 debugger
debuggerDemo.js 示例

//debuggerDemo.js
global.x = 5;
setTimeout(() => {   //此处用到的回调函数的形式是箭头函数,() =>相当于function()debugger;console.log('world');
}, 1000);
console.log('hello');

第二步:执行node命令时加上inspect参数,指定要调试的脚本的路径。.
node inspect .\debuggerDemo.js
演示动图

在Visual Studio Code中调试Node.js程序

调试步骤
(1)设置调试配置文件。关键是设置program属性,使其指向要运行的脚本文件。
(2)设置断点。
(3)根据需要设置监视器。
(4)启动该脚本的调试。
Visual Studio Code中调试Node.js程序

调试器执行方式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

【Node.js入门】1.3 开始开发Node.js应用程序

1.3 开始开发Node.js应用程序 学习目标 &#xff08;1&#xff09;熟悉开发工具Visual Studio Code的基本使用&#xff1b; &#xff08;2&#xff09;掌握Node.js应用程序的编写、运行和调试的基本方法。 构建第一个 Node.js应用程序 代码 const http require("htt…...

ansible-playbook之file模块

1、file模块功能说明 file模块主要用于远程主机上的文件操作&#xff0c;file模块包含如下选项&#xff1a; force&#xff1a;需要在两种情况下强制创建软链接&#xff0c;一种是源文件不存在但之后会建立的情况下&#xff1b;另一种是目标软链接已存在,需要先取消之前的软…...

Vue路由介绍及使用

一、单页应用程序介绍 1.概念 单页应用程序&#xff1a;SPA【Single Page Application】是指所有的功能都在一个html页面上实现&#xff0c;当切换不同的功能时&#xff0c;页面不会进行刷新&#xff0c;类似Ajax请求&#xff0c;但请求地址会发生部分变化。 2.具体示例 单…...

案例 - 拖拽上传文件

直接看效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>拖拽上传文件</title>&l…...

github 上传代码报错 fatal: Authentication failed for ‘xxxxxx‘

问题 今天一时兴起创建了个 github 新仓库&#xff0c;首次上传本地代码时&#xff0c;遇到了一个报错。本来以为是账号密码的问题&#xff0c;搞了好几次&#xff0c;发现都没错的情况下还是上传不上去。目测判断是认证相关问题&#xff0c;具体报错信息如下&#xff1a; rem…...

Linux虚拟网络设备之bridge

继前两篇介绍了tun/tap和veth之后&#xff0c;本篇将介绍Linux下常用的一种虚拟网络设备&#xff0c;那就是bridge(桥)。 Linux ip netns 命令-CSDN博客 veth-pair,netns-CSDN博客 图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN_veth 转发 有拷贝-C…...

最后一个大更新!Win11 2023正式发布:Copilot终于来了

美国当地时间周二&#xff0c; 微软正式宣布为所有符合条件的Windows 11电脑发布Windows 11 2023更新(Windows 11 23H2)。 考虑到微软计划在2024年发布下一代Windows(可能是Windows 12)&#xff0c;这也使得23H2成为Windows 11的最后一个重大更新。 此次更新的重点就是AI功能&a…...

pandas教程:Reading and Writing Data in Text Format (以文本格式读取和写入数据)

文章目录 Chapter 6 Data Loading, Storage, and File Formats&#xff08;数据加载&#xff0c;存储&#xff0c;文件格式&#xff09;6.1 Reading and Writing Data in Text Format (以文本格式读取和写入数据)1 Reading Text Files in Pieces&#xff08;读取一部分文本&…...

软考高级系统架构设计师系列之:软考高级系统架构设计师论文专题

软考高级系统架构设计师系列之:软考高级系统架构设计师论文专题 一、论文相关内容二、论文专题大纲三、论文考试方式四、历年真题汇总分析五、论文常见问题六、论文评分标准七、搭建论文万能模版八、论文万能模版公式九、搭建论文万能模版—摘要十、搭建论文万能模版—背景十一…...

目标检测中的评价指标

目标检测中的评价指标 将检测目标分为正样本和负样本。 真阳性&#xff08;true positives , TP&#xff09; : 正样本被正确识别为正样本。 假阳性&#xff08;false positives, FP&#xff09;: 负样本被错误识别为正样本。 假阴性&#xff08;false negatives, FN&#…...

【AI编程】ai编程插件汇总iFlyCode、codegeex

1、iFlyCode 开发公司&#xff1a;讯飞 支持IDE: VS Code、IntelliJ IDEA、CLion、PyCharm、WebStorm 支持语言: Python、JavaScript、C、Java 下载地址&#xff1a;https://iflycode.xfyun.cn/ iFlyCode 快捷键列表&#xff1a;  Tab 采纳建议  Esc 拒绝建议  Alt\ 主动…...

算法通关村第八关|黄金挑战|二叉树的最近公共祖先

二叉树的最近公共祖先 找p和q就行&#xff0c;找不到p和q的节点就返回null&#xff0c;找到的就层层返回p或q&#xff0c;其他的还是返回null。直到某一层的left和right都不为null说明得到了最近公共节点&#xff0c;再将这个节点层层返回。如果p和q存在祖先和子节点的关系&am…...

亚马逊云科技产品测评』活动征文|通过使用Amazon Neptune来预测电影类型初体验

文章目录 福利来袭Amazon Neptune什么是图数据库为什么要使用图数据库什么是Amazon NeptuneNeptune 的特点 快速入门环境搭建notebook 图神经网络快速构建加载数据配置端点Gremlin 查询清理 删除环境S3 存储桶删除 授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转…...

【获奖论文】2023年数学建模国赛优秀获奖论文

论文篇幅过长&#xff0c;本文仅展示少部分&#xff1b;共计14篇完整PDF获奖论文。 关注在微信公众号&#xff1a;数学建模BOOM&#xff0c;回复“2023国赛”获取。 注意&#xff01;是在公众号回复&#xff0c;不是在b站。 优秀论文部分内容展示&#xff1a; 更多A~E题的完…...

美团三年,总结的10条血泪教训

在美团的三年多时光&#xff0c;如同一部悠长的交响曲&#xff0c;高高低低&#xff0c;而今离开已有一段时间。闲暇之余&#xff0c;梳理了三年多的收获与感慨&#xff0c;总结成10条&#xff0c;既是对过去一段时光的的一个深情回眸&#xff0c;也是对未来之路的一份期许。 …...

【CSP认证考试】202309-1:坐标变换(其一)100分解题思路+代码

解题思路 暴力解决&#xff0c;不考虑时空开销就一直用for循环也可以做出来。按照题目意思输入两个数组&#xff0c;然后将第一个输入的数组的x部分累加起来记作x&#xff0c;再将y部分累加起来记作y。再将第二个数组的x部分都加上x&#xff0c;y部分加上y。最后输出第二个数组…...

剩余参数和展开运算符的区别

一、剩余参数 剩余参数语法允许在函数定义时&#xff0c;将多个参数表示为一个参数数组。 使用剩余参数&#xff0c;可以将不定数量的参数作为一个数组接收&#xff0c;并在函数内部对其进行操作。剩余参数使用三个点 (…) 加上一个参数名来表示&#xff0c;通常用于函数的最后…...

ES6的基础用法

本文会着重讲解es6&#xff0c;帮助大家熟悉es6和掌握es6的写法 1&#xff0c;let 没有变量提升&#xff0c;使用变量在变量定义之前&#xff0c;这点和var有很大区别 不允许重复声明 只在块级作用域里有效 暂时性死区 console.log(a) //报错&#xff0c;因为在未定义前调用l…...

standard_init_linux.go:211: exec user process caused “exec format error“

在使用docker搭建hue的过程中出现了如下错误: standard_init_linux.go:211: exec user process caused "exec format error"docker日志 [roots14 bin]# docker logs fa5b1c4e0614 standard_init_linux.go:211: exec user process caused "exec format error&q…...

python的format函数的用法及实例

目录 1.format函数的语法及用法 &#xff08;1&#xff09;语法&#xff1a;{}.format() &#xff08;2&#xff09;用法&#xff1a;用于格式化字符串。可以接受无限个参数&#xff0c;可以指定顺序。返回结果为字符串。 2.实例 &#xff08;1&#xff09;不设置位置&…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解

文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一&#xff1a;HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二&#xff1a;Floyd 快慢指针法&#xff08;…...