- 教程
- CLI
【免费下载链接】learnyounode
Learn You The Node.js For Much Win! An intro to Node.js via a set of self-guided workshops.
本指南以 learnyounode 工作坊的入门练习HELLO WORLD(法语版说明 problem.fr.md)为核心,完整讲解其任务目标、编码方式与验证流程:如何创建一个.js文件、用node命令运行、借助console.log向标准输出(stdout)打印文本,并通过learnyounode verify一键校验。读完本文,你将掌握 learnyounode 工作坊「编写—运行—验证」的完整闭环,并为后续 I/O、文件系统、TCP/HTTP 等练习打下基础。
一、练习目标:向 stdout 打印 "HELLO WORLD"
HELLO WORLD 是 learnyounode 系列 13 个自学工作坊中的第一课。learnyounode.js中addAll数组将它列在首位(learnyounode.js),是整套课程的门槛级练习。
法语版题目原文要求如下(problem.fr.md):
Écrivez un programme qui dit « Bonjour, Monde » dans la console (stdout).
即:编写一个程序,在控制台(标准输出 stdout)打印「Bonjour, Monde」(HELLO WORLD)。英文版题目则明确要求输出大写文本"HELLO WORLD"(problem.md),中文版同样要求输出"HELLO WORLD"(problem.zh-cn.md)。本练习不涉及文件读写、网络或流等高级特性,核心就是「让程序产生一行标准输出」。
值得留意的是,题目对输出文本的大小写是有要求的。仓库自带的验证用例中,通过用例 valid_01.js 输出的是console.log('HELLO WORLD'),而失败用例 invalid_01.js 输出的是console.log('Hello World!')——两者文本不同(大小写与内容均有差异),由此可以推断校验逻辑会对程序的实际 stdout 输出做精确比对。
二、编写程序:创建.js文件并书写 JavaScript
按照法语文档的提示(problem.fr.md),要写一个 Node.js 程序,只需两个步骤:
- 创建一个以
.js结尾的新文件,例如program.js; - 在其中书写 JavaScript 代码。
这与在浏览器中写脚本的方式一致。文档给出的核心写法是:
console.log('text')对于本练习,最简单的合法实现就是一行:
console.log('HELLO WORLD')仓库自带的参考解答 solution/solution.js 正是如此:
console.log('HELLO WORLD')这也是 valid_01.js 验证用例的完整内容——说明「一行console.log」就是该练习接受的解答形态。
console.log用法要点
console.log是 Node.js 全局对象console的方法,行为与浏览器环境一致:
- 接受任意个参数,会按字符串形式输出到stdout(标准输出),并自动追加换行符;
- 因此「输出到控制台」与「输出到 stdout」在本练习中是同一回事;
- 传入的字符串原样输出,不会自动做大小写转换——这正是本练习需要自己控制输出文本的原因。
其他解法与多语言对照
仓库在不同语言目录下提供了功能等价、文本不同的参考实现,例如日语版 solution_ja/solution.js 输出console.log('こんにちは世界'),对应日语验证用例 valid_01_ja.js。这说明只要输出与所选语言题目要求一致即可通过,程序本身并不复杂到需要多余代码。
三、运行程序:使用node命令
写完.js文件后,即可用node命令执行(problem.fr.md):
$ node program.js假设文件内容为console.log('HELLO WORLD'),终端会打印:
HELLO WORLDnode是 Node.js 自带的命令行解释器,需先安装 Node.js 环境;- 文件名不强制为
program.js,可以任意命名(如hello-world.js),只要后缀为.js且与后续verify命令中传入的文件名一致即可; - 若程序无语法错误,
node会立即执行并返回控制台;若代码有误,则会输出错误堆栈。
在正式验证前,建议先这样手动运行一次,确认 stdout 输出符合预期,这是排查问题最直接的手段。
四、验证程序:learnyounode verify
当你准备好后,运行(problem.fr.md):
$ {appname} verify program.js这里的{appname}是工作坊框架的占位符,在本项目中即命令名learnyounode,因此实际命令为:
$ learnyounode verify program.js验证流程的效果是:
- 你的程序会被自动执行并被测试;
- 系统生成一份测试报告;
- 若测试通过,课程会被标记为完成(completed)。
验证机制的源码依据
从仓库源码结构可以还原这套机制的实现脉络:
- 练习本体 exercise.js 基于
workshopper-exercise/basic构建,采用'use strict'严格模式,通过module.exports = exercise导出;basic类练习会自动执行传入的脚本并捕获其 stdout 输出用于比对; - 测试驱动依赖
workshopper-adventure(见 package.json 的依赖清单),整个课程框架在 learnyounode.js 中初始化,支持 en、fr、zh-cn、zh-tw 等 14 种语言(learnyounode.js),法语文档正是其多语言体系的一部分; - 通过/失败提示分别由
workshopper-adventure的pass/fail模块渲染(learnyounode.js),与文档中「报告生成、成功则标记完成」的描述对应。
验证不通过的常见情形
结合失败用例 invalid_01.js(输出'Hello World!')与文档说明,失败通常源于:
- 输出文本与预期不一致:大小写、空格、标点或内容任何一处不符;
- 文件未被正确创建或命名:
verify找不到目标文件; - 语法错误:程序无法被
node正常执行。
失败时你会看到 FAIL 提示及原因说明,修正后重新verify直至出现 PASS 即可。
五、完整通关流程(含安装)
把上述步骤串联起来,就是 learnyounode 的完整使用闭环(亦见 README.md):
- 安装:先安装 Node.js,再执行
npm install -g learnyounode(README.md)。若权限不足,可加sudo前缀或先修复 npm 权限。package.json将命令入口注册为bin.learnyounode(package.json),全局安装后即可直接使用learnyounode命令。 - 启动:在终端运行
learnyounode,进入课程选择界面(蓝色界面)。 - 选择练习:用方向键导航到HELLO WORLD并按回车。此时系统会打印该练习的题目说明,并将当前
verify的期望输出切换为「HELLO WORLD」。 - 编写解答:创建
program.js,写入console.log('HELLO WORLD')。 - 手动运行确认:
node program.js应输出HELLO WORLD。 - 正式验证:
learnyounode verify program.js,看到 PASS 即完成本课。 - 进入下一课:重复步骤 2-6,按顺序学习后续的 BABY STEPS、MY FIRST I/O! 等 12 个练习(完整清单见 learnyounode.js)。
六、小结
HELLO WORLD 练习虽小,却完整覆盖了 Node.js 开发中最基础的三个事实:
| 环节 | 命令/写法 | 说明 |
|---|---|---|
| 创建程序 | program.js文件 | 任意.js文件即可成为 Node.js 程序 |
| 运行程序 | node program.js | 立即执行并输出 stdout |
| 打印输出 | console.log('HELLO WORLD') | 与浏览器一致的全局 API |
| 自动校验 | learnyounode verify program.js | 比对 stdout、生成报告、标记完成 |
掌握这一流程后,后续课程中涉及命令行参数(BABY STEPS)、文件系统与异步 I/O、TCP/HTTP 网络等练习,都将复用「编写—运行—验证」的同一套工作方式。建议在本地实际创建文件、运行并验证一遍,这是进入 Node.js 世界最直接的起点。
- 教程
- CLI
【免费下载链接】learnyounode
Learn You The Node.js For Much Win! An intro to Node.js via a set of self-guided workshops.
相关推荐
learnyounode 第一课指南:用 Node.js 完成 HELLO WORLD 练习与 verify 校验全流程
learnyounode 第一课指南:用 Node.js 完成 HELLO WORLD 练习与 verify 校验全流程 本篇技术指南以 learnyounod
教程CLIlearnyounode 入门第一课:HELLO WORLD 练习全解析(从创建 Node.js 程序到 verify 自动验证)
learnyounode 入门第一课:HELLO WORLD 练习全解析(从创建 Node.js 程序到 verify 自动验证) 本篇文章以 learnyou
教程CLIlearnyounode 起步指南:用 "HELLO WORLD" 练习跑通第一个 Node.js 程序与 verify 校验流程
learnyounode 起步指南:用 "HELLO WORLD" 练习跑通第一个 Node.js 程序与 verify 校验流程 本篇文章围绕 learnyo
教程CLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考