Node.js 介绍
Node.js 是基于 Chrome V8 引擎的 JavaScript 运行环境,特点包括:
- 事件驱动与非阻塞 I/O:适合高并发、I/O 密集型应用(如实时聊天、API 服务)。
- 跨平台开发:支持 Windows、macOS、Linux 系统。
- npm 生态:全球最大的开源库生态系统(如 Express、React 等框架)。
Node.js is an open-source, cross-platform JavaScript runtime environment.
For information on using Node.js, see the Node.js website.
The Node.js project uses an open governance model. The OpenJS Foundation provides support for the project.
Contributors are expected to act in a collaborative manner to move the project forward. We encourage the constructive exchange of contrary opinions and compromise. The TSC reserves the right to limit or block contributors who repeatedly act in ways that discourage, exhaust, or otherwise negatively affect other participants.
JavaScript
JavaScript 是什么?
- 脚本语言
- 一种轻量级、解释型编程语言,主要用于网页交互。
- 无需编译:代码直接在浏览器中执行(如 Chrome V8 引擎)。
- Web 核心技术
- 与 HTML(结构)、CSS(样式)并称前端开发三大基石。
- 跨平台能力
- 支持 Windows/macOS/Linux 系统,并延伸至服务端(Node.js )、移动端(React Native)等。
核心特性与技术组成
特性 | 说明 |
---|---|
事件驱动 | 响应用户操作(点击、滚动等),实现动态交互 |
弱类型 | 变量无需声明数据类型,灵活性高但需注意类型转换 |
基于原型 | 通过原型链(Prototype)实现对象继承 |
非阻塞 I/O | 异步处理机制(如 Ajax),避免页面卡顿 |
技术组成:
- ECMAScript:语言标准(如 ES6 模块化、箭头函数)。
- DOM(文档对象模型):操作网页元素的接口。
- BOM(浏览器对象模型):控制浏览器窗口行为(如跳转、弹窗)。
核心作用与应用场景
✅ 前端交互
- 动态内容更新:无需刷新页面加载数据(如实时聊天)。
- 表单验证:提交前检测用户输入合法性。
- 动画与特效:轮播图、页面过渡效果等。
🌐 全栈开发
- 后端开发:Node.js 构建服务器应用(如 Express 框架)。
- 跨平台应用:Electron(桌面端)、React Native(移动端)。
⚡ 新兴领域
- 游戏开发:基于 HTML5 Canvas 的网页游戏。
- 物联网(IoT):设备控制与数据处理
npm
npm(Node Package Manager) 是 Node.js 的官方包管理工具,主要功能包括:
- 包管理:下载、安装、更新和卸载 JavaScript 模块(包)。
- 依赖管理:自动处理项目依赖关系,通过
package.json
文件记录依赖项及版本。 - 生态共享:全球最大的开源 JavaScript 代码仓库,提供超过 600,000 个开源包(如 Express、React 等)。
npm 包含三个关键部分:
- 官网(npmjs.com)
- 搜索、浏览和管理开源包的主要平台。
- 注册表(Registry)
- 存储所有包数据的中央数据库,支持包的发布与下载。
- 命令行工具(CLI)
- 通过终端执行包管理操作(如
npm install
)。
- 通过终端执行包管理操作(如
Windows环境安装配置Node.js过程
(1)下载Node.js:选择LTS版本。比较稳定。
(2)一路next,就会畅通无阻。
(3)最后弹出这个提示。
(5)打开PowerShell,输入node、npm版本命令,出现对应版本号,即表示在本机安装成功。
# node版本
node -v
# npm版本
npm -v
说明
- 安装比较简单,默认已经配置好环境变量,不需要改动太多,直接保持默认条件安装会省很多事。
- 最好选择LTS版本,因为是长期稳定支持版本,后期应用会省很多事。
- 默认已经安装好npm了。不需要自己额外安装了,当然也可以换npm,根据个人需求来操作。