学习 Node.js 你所需要做的准备工作
假设你对 JavaScript 有一定的了解,那现在你就可以看一下 Node.js 的简介,然后让我们开始搭建 Node.js 的开发环境吧!
1. 安装 Node 环境
因为我使用的是 Ubuntu,所以所有操作都只在 Ubuntu 上测试过,其它平台大体类似。
1) 安装 Node.js
安装就和 Ubuntu 上普通软件的安装方法一样:
sudo apt update
sudo apt install nodejs
你可以通过 node -v
检查是否安装成功,在我的机器上输出是这样的:
node -v
# 输出
v10.19.0
2) 安装 npm
npm 其实就是 Node Package Manager,即 Node 包管理器,是 Node.js 预设的、用 JavaScript 编写的软件包管理系统。
网上的有些资料说安装 Node.js 的时候会顺带安装 npm,所以我们不用额外地再去安装,可以通过 npm -v
检查是否安装成功:
npm -v
# 输出
6.14.4
但是在我的电脑上却需要自己手动安装,那就再安装一下吧:
sudo apt update
sudo apt install npm
2. 运行代码
其实运行 JS 代码的方式有很多种,甚至不安装 Node 环境也可以通过浏览器运行。
1) 浏览器运行
在浏览器里我们可以用快捷键“F12”打开开发者工具,选择“console”选项会看到一个命令行界面,在这里就可以输入 JS 代码执行了。
2) 终端运行
我们也可以选择使用 node
命令来运行 JS 代码。
node
运行 JS 代码的方式有两种,一种是交互模式,和浏览器控制台类似,另一种就是命令行模式,直接执行 .js
文件。
- 交互模式
# 进入交互模式 node # 退出交互模式,也可以按两次 Ctrl + C 退出 .exit
- 命令行模式
这种方式需要一个 JS 文件:
执行:// hello.js 'use strict' // 启用严格模式,建议在每个 JS 文件前加上 var msg = 'Hello World!'; console.log(msg);
效果是一样的:node hello.js # 或 node hello
3) VSC 调试
如果你也喜欢使用 VS Code 的话,那么使用 VS Code 来编写和调试 JS 代码也是个不错的选择。
运行代码可以在 VS Code 集成的终端中使用 node
命令,或者安装插件“Code Runner”使用快捷键运行。
而调试 JS 代码则需要一个 launch.json
文件,可以通过在 VS Code 中选择”运行->添加配置->Node.js”生成:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "启动程序",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/hello.js"
}
]
}
launch.json
文件中的 "program"
项就是调试的目标文件,可以根据需求更改,比如可以改成 main.js
调试 main.js
文件。
3. 写一个简单的多模块程序
在写之前我们首先要了解一下“模块”的概念,在 Node 环境里,每个 .js
文件都是一个模块,我们可以用 module.exports = XXX
来选择将哪些变量或函数暴露出去:
// hello.js
'use strict';
var msg = 'Hello';
function greet(name) {
console.log(`${msg},${name}`)
}
module.exports = {
msg: msg, // 暴露变量
greet: greet, // 暴露函数
}
然后就可以在其它的文件里用 require
语句引入 hello
模块:
// main.js
'use strict';
var hello = require('./hello') // 通过相对路径引入模块
console.log(hello.msg) // 使用 hello 模块的变量
hello.greet('Jax') // 使用 hello 模块的函数
执行一下:
深入学习
环境已经搭好了,接下来就可以开始深入学习了,你可以参考下面的资料。
廖雪峰的 JavaScript 教程,简单,偏入门。
MDN 的 JavaScript 教程,全面,较权威。