一、关于Node.js
- 从概念角度
- 定义
- Node.js是一种让JavaScript脱离浏览器也能运行的技术。通常我们知道JavaScript是在浏览器里运行来实现网页的交互效果等功能的。但Node.js就像是给JavaScript开辟了一个新的“游乐场”,这个“游乐场”不在浏览器里,而是在服务器端或者电脑的本地环境里。
- 类比
- 就好比你之前只知道在游乐园里的某个小区域(浏览器)玩游戏(运行JavaScript),现在Node.js给你打开了整个游乐园(服务器端等环境),让你能玩更多的游戏(做更多的事情)。
- 从功能角度
- 服务器端开发
- Node.js可以用来创建Web服务器。比如你想搭建一个自己的网站,以前可能需要学习像Python(Flask、Django等)或者Java(Spring等)这样的服务器端编程语言和框架,但有了Node.js,你就可以用你熟悉的JavaScript来做这件事。
- 例如,使用Express框架(基于Node.js),你可以很轻松地定义路由(像定义不同网页的地址规则)、处理HTTP请求(当用户访问你的网站时如何回应)等。
- 命令行工具开发
- 可以创建一些在命令行里运行的工具。比如说你想写一个小工具,用来批量处理文件(比如重命名一批文件),你就可以用Node.js来写这个工具,然后在命令行里像运行其他命令一样运行它。
- 构建工具和自动化脚本
- 在前端开发中,像Webpack、Gulp这些构建工具很多都是基于Node.js的。这些工具可以帮助你压缩代码、合并文件等。自动化脚本方面,例如你可以写一个脚本来自动部署你的网站,每次更新代码后自动把新的代码推送到服务器上。
二、关于Node.js环境
- 安装后的系统变化
- 可执行命令
- 当你在电脑上安装了Node.js后,系统就会认识
node
这个命令了。就像你安装了某个软件后,系统能识别这个软件对应的命令一样。你可以在命令行里输入node
,后面跟上一个JavaScript文件的路径,然后系统就会运行这个文件里的JavaScript代码。
- 包管理
- 同时,安装Node.js的时候还会安装npm(Node Package Manager)。npm就像是一个超级大的“工具仓库管理员”,你可以通过它来安装各种各样的Node.js相关的包(也就是别人写好的代码模块,可以拿来直接用)。
- 环境变量设置
- 安装过程中会设置一些环境变量,这些环境变量就像是给系统的一些“小提示”,告诉系统在哪里能找到Node.js相关的东西。比如说,当你在命令行里输入
node
命令时,系统就根据这些环境变量找到Node.js的安装位置然后执行相应的操作。
- 项目中的体现
- 项目依赖管理
- 在一个Node.js项目里,会有一个
package.json
文件。这个文件就像是这个项目的“购物清单”,里面记录了这个项目依赖哪些包(从npm仓库里需要拿来用的代码模块)。当你把这个项目分享给别人或者在其他电脑上重新搭建这个项目时,只要有这个package.json
文件,就可以通过npm install
命令来安装所有需要的包,快速还原项目的开发环境。
- 开发和运行环境
- 在项目目录里,你可以创建JavaScript文件,然后在这个Node.js环境里运行它们。你还可以设置不同的开发环境(比如开发环境和生产环境),在不同环境下可能会使用不同的配置,比如开发环境下可能会开启更多的调试功能,而生产环境下会更注重性能优化。