Node.js入门:运行第一个JavaScript程序

完成安装后,最有效的验证不是寻找桌面图标,而是在项目目录创建`app.js`并用node命令运行。本教程只完成一个可重复的小程序,再解释目录、输出、错误和下一步项目化方式。

第一个程序运行路径创建app.js、从终端运行并检查输出。

脚本文件

.js文件可保存并重复运行。

终端输出

用输出和错误确认执行结果。

最小闭环

先完成app.js再引入依赖。

开始前检查运行环境

先确认当前终端确实可以调用运行时和包管理器,再创建练习目录。基础环境没有通过时继续编写代码,只会把路径问题和脚本错误混在一起。

打开新的终端,依次运行node --versionnpm --version。两条命令都应返回版本;如果提示不是命令,先回到安装及环境配置。本站分发记录为16.17.0.0且已停止上游维护,因此新项目还应先确认是否需要选择仍受支持的LTS版本。

在文档目录之外创建一个专用练习文件夹,例如node-first-app。项目文件、依赖和终端操作都放在这个目录内,避免把脚本散落在下载目录。文件资源管理器如果隐藏扩展名,应先显示扩展名,防止把app.js保存成app.js.txt

创建并运行第一个app.js

下面是完整的运行流程与最小示例。结果检查以终端输出第一个脚本结果为准,具体会出现Node.js ready和实际版本。

  1. 1.在项目文件夹中新建app.js
  2. 2.使用文本编辑器写入下面的代码并保存。
  3. 3.在该文件夹地址栏输入powershell,或在终端中用cd进入目录。
  4. 4.执行node app.js
  5. 5.检查终端是否输出两行内容且没有红色错误信息。

操作顺序可以概括为创建文件夹、写入app.js、打开终端、运行node app.js、检查输出与错误。文件扩展名错误、终端目录错误、语法错误和命令命中旧版本是四个常见失败点。最终成功检查是终端输出预期文本且退出码正常。

console.log('Node.js ready');
console.log(`runtime: ${process.version}`);

预期第一行是Node.js ready,第二行显示当前运行时版本。这里的process.version来自实际执行脚本的Node.js,因此比根据安装目录猜测版本更可靠。如果输出与node --version不一致,检查终端、编辑器集成终端或版本管理器是否使用了不同环境。

终端目录决定Node.js从哪里找文件

node app.js中的相对路径从当前工作目录解析。终端若停在上一级目录,会出现找不到模块或文件的错误。先运行pwd(PowerShell)或cd查看当前目录,再用dir确认列表中确实有app.js

也可以传入完整文件路径,但长期项目更适合先进入项目根目录再运行命令,因为配置文件、依赖目录和相对资源通常都以项目为单位。脚本中需要当前工作目录时可查看process.cwd(),需要当前模块文件位置时则应按所用模块系统获取文件路径,两者不是同一个概念。

学会阅读第一条错误信息

错误信息的第一段通常包含最接近根因的文件、行号和错误类型。先确认自己的命令与文件,再沿调用栈向下阅读,比只复制最后一行更有效。

语法错误通常会显示文件名、行号和指示位置;文件找不到常见提示包含MODULE_NOT_FOUND;模块格式不匹配可能出现require is not definedCannot use import statement outside a module。先阅读第一条错误和自己的文件路径,再看调用栈,不要只复制最后一行。

修改代码后必须保存文件再重新运行。若终端一直显示旧结果,确认运行的文件路径与编辑器正在修改的文件一致。where node可检查运行时位置,dir app.js可检查目标文件,两个信息通常足以排除“改了代码但没生效”的基本问题。

把一次运行变成可重复项目

可重复项目需要明确根目录、依赖清单、入口文件和启动命令。另一台电脑按照这些记录操作时,应得到相同结果,而不是依赖开发者本机的隐藏设置。

当脚本开始使用第三方依赖时,在项目根目录执行npm init -y生成package.json。随后使用npm install 包名进行本地安装,依赖会记录到项目配置并写入node_modules。详细流程见npm项目包管理

可以在package.jsonscripts中增加"start": "node app.js",以后使用npm run start执行。这样启动命令被项目记录下来,团队成员和自动化环境不必猜入口文件。脚本复杂后再增加测试、格式检查和开发启动命令,不要一开始堆入过多工具。

下一步练习清单

完成基础输出后,可以增加一个数字参数并把它转换为数值,再根据输入返回不同退出码。随后尝试读取一个JSON文件,处理文件不存在和JSON格式错误两个分支。每次只增加一个能力,并把运行命令与预期输出写在项目说明中,下一次回看时能迅速判断环境是否一致。

另一个实用练习是使用内置http模块返回一段纯文本。先确认本机端口没有被占用,启动后在浏览器访问本地地址,再按Ctrl+C正常停止进程。这个练习能把脚本执行、长驻进程、网络端口和退出操作串成一个最小服务流程。

本页回答的是创建app.js并在终端运行第一个Node.js程序。完成后下一步进入/npm/index.html,把一次脚本运行扩展为有依赖记录的项目。

先练习读取命令行参数process.argv,再练习使用内置fs模块读写一个文本文件。完成后尝试创建一个最小HTTP服务,并为错误分支设置明确状态码和日志。每个练习都保持“输入、运行命令、预期输出”三项记录,便于以后复查。

项目需要拆分文件时,先阅读CommonJS与ESM怎么选,统一requireimport规则;版本不确定时看LTS选择;命令突然找不到时进入问题排查。需要重新核对安装器则回到Node.js下载页

常见问题

node app.js没有任何输出是失败吗?

不一定。脚本只有在执行输出语句或出现错误时才会显示内容。先加入明确的console.log,并检查命令是否正常返回提示符。

为什么提示Cannot find module?

先确认当前目录和文件名;若缺的是第三方包,检查是否在项目目录完成npm install;若缺的是自己的文件,检查相对路径与扩展名。

可以直接在浏览器里运行这段代码吗?

示例使用process对象,它属于Node.js运行时,浏览器页面中默认不存在。浏览器和Node.js都执行JavaScript,但运行环境API不同。

每次修改代码都要重启命令吗?

基础方式需要保存后重新执行。开发服务器可使用监视模式或相关工具自动重启,但应先掌握手动运行和错误检查,避免工具掩盖路径问题。

第一个项目需要安装框架吗?

不需要。先用内置能力确认运行时、文件和终端流程,再引入第三方框架,更容易判断问题来自代码、环境还是依赖。

继续浏览

下一步怎么走

本页只解决一个主要问题,后续操作可按需求进入对应页面。

获取Node.js Windows安装器

电脑尚未具备可用解释器时,先获取安装器并完成安装,再运行第一个脚本。

前往Node.js下载页