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

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

学习目标

(1)熟悉开发工具Visual Studio Code的基本使用;

(2)掌握Node.js应用程序的编写、运行和调试的基本方法。

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

代码

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.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程序

js 复制代码
//test.js
console.log("test")
js 复制代码
//demo.js
console.log("demo")
package.json
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 示例

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)启动该脚本的调试。

调试器执行方式



相关推荐
wno7041 天前
node.js中使用jquery
前端·node.js·jquery
damoluomu2 天前
Node 的 Headless 出厂没有前台,Java 的 Headless 是从门户里长出来的
java·开发语言·node.js
Dumbness2 天前
一个手机号验证码登录接口的五个坑:无限发码、无限试码,传个数字就让 Express 进程退出
node.js·express
怒放的生命19912 天前
本地用 pnpm 省磁盘,团队继续用 npm:极简实践
前端·npm·node.js
Hone3 天前
我把「自动发文章到掘金」做成了一个 Agent 技能:juejin-skills
node.js·ai编程·前端工程化
Dumbness3 天前
二十行手写的 SKILL.md 头部解析,遇到 YAML 的折叠写法、单引号和嵌套键就读错:和 js-yaml 逐条对照
node.js·ai编程
只睡四小时4 天前
MCP 弃用 SSE?Node 分帧漏 81.7% 事件
node.js·webassembly·实时通信·mcp·streamable http
hey you~4 天前
个体户门店办理400电话,如何对接订单系统实现来电弹窗
node.js·webhook·400电话·门店数字化·来电弹窗·订单系统对接
YIAN5 天前
RAG 学到最后,我真正学会的不是“检索”,而是让系统知道自己缺什么
langchain·node.js·llm