当前位置: 首页 > 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程序

调试器执行方式

在这里插入图片描述

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

http://www.lryc.cn/news/222533.html

相关文章:

  • ansible-playbook之file模块
  • Vue路由介绍及使用
  • 案例 - 拖拽上传文件
  • github 上传代码报错 fatal: Authentication failed for ‘xxxxxx‘
  • Linux虚拟网络设备之bridge
  • 最后一个大更新!Win11 2023正式发布:Copilot终于来了
  • pandas教程:Reading and Writing Data in Text Format (以文本格式读取和写入数据)
  • 软考高级系统架构设计师系列之:软考高级系统架构设计师论文专题
  • 目标检测中的评价指标
  • 【AI编程】ai编程插件汇总iFlyCode、codegeex
  • 算法通关村第八关|黄金挑战|二叉树的最近公共祖先
  • 亚马逊云科技产品测评』活动征文|通过使用Amazon Neptune来预测电影类型初体验
  • 【获奖论文】2023年数学建模国赛优秀获奖论文
  • 美团三年,总结的10条血泪教训
  • 【CSP认证考试】202309-1:坐标变换(其一)100分解题思路+代码
  • 剩余参数和展开运算符的区别
  • ES6的基础用法
  • standard_init_linux.go:211: exec user process caused “exec format error“
  • python的format函数的用法及实例
  • BigDecimal 类型的累加操作
  • 基于单片机的土壤温湿度控制系统
  • 服务器数据库中了elbie勒索病毒怎么办,elbie勒索病毒解密,数据恢复
  • 接口测试及接口测试工具
  • JUC包工具类介绍二
  • 第8章_聚合函数
  • Mysql8与mariadb的安装与常用设置
  • 深入剖析Golang中单例模式
  • Java之SpringCloud Alibaba【八】【Spring Cloud微服务Gateway整合sentinel限流】
  • 深入解析 Redis 分布式锁原理
  • [unity]多脚本情况下update函数的执行顺序