2021了,真的不要再说 Node.js 是一门编程语言了

本文介绍了Node.js的基础知识,包括Node.js不是编程语言而是执行JavaScript的工具,讲解了浏览器与Node.js中JavaScript的区别,重点阐述了Node.js的模块系统、NPM的使用,如软件包管理、版本控制等,同时提到了Node.js中的全局对象和环境变量。通过阅读,读者可以对Node.js全栈开发有初步理解。
摘要由CSDN通过智能技术生成

Node.js 全栈基础

1. Node.js 光速入门

1.1 Node.js 概述
  1. Node.js 是什么

    Node.js 不是一门编程语言,它是一个执行 JavaScript 代码的工具。工具是指可以安装在计算机操作系统之上的软件。

  2. 为什么浏览器和 Node.js 都可以运行 JavaScript

    因为浏览器和 Node.js 都内置了 JavaScript V8 Engine。

    它可以将 JavaScript 代码编译为计算机能够识别的机器码。

01.png
3. 浏览器中运行的 JavaScript 和 Node.js 中运行的 JavaScript 有区别吗

在内置了 JavaScript V8 Engine 以后实际上只能执行 ECMAScript,就是语言中的语法部分。

浏览器为了能够让 JavaScript 操作浏览器窗口以及 HTML 文档,所以在 JavaScript V8 Engine 中添加了控制它们的 API, 就是 DOM 和 BOM. 所以 JavaScript 在浏览器中运行时是可以控制浏览器窗口对象和DOM文档对象的。

和浏览器不同,在 Node.js 中是没有 DOM 和 BOM 的,所以在 Node.js 中不能执行和它们相关的代码,比如 window.alert() 或者 document.getElementById(). DOM 和 DOM 是浏览器环境中特有的。在 Node.js 中,作者向其中添加了很多系统级别的 API,比如对操作系统中的文件和文件夹进行操作。获取操作系统信息,比如系统内存总量是多少,系统临时目录在哪,对系统的进程进行操作等等。

24.png

JavaScript 运行在浏览器中控制的是浏览器窗口和 DOM 文档。

JavaScript 运行在 Node.js 中控制的操作系统级别的内容。

03.png

  1. 为什么浏览器中的 JavaScript 不能控制系统级别的 API

    浏览器是运行在用户的操作系统中的,如果能控控制系统级别的 API 就会存在安全问题。

    Node.js 是运行在远程的服务器中的,访问的是服务器系统 API,不存在这方面的安全问题。

  2. Node.js 能够做什么

    我们通常使用它来构建服务器端应用和创建前端工程化工具。

    JavaScript 运行在浏览器中我们就叫它客户端 JavaScript。

    JavaScript 运行在 Node.js 中我们就叫它服务器端 JavaScript。

1.2 系统环境变量

系统环境变量是指在操作系统级别上定义的变量,变量中存储了程序运行时所需要的参数。

26.png

比如在使用 webpack 构建前端应用时就使用到了系统环境变量,因为 webpack 需要根据系统环境变量判断当前为开发环境还是生产环境,根据环境决定如何构建应用。

在开发环境的操作系统中定义 NODE_ENV 变量,值为 development,在生产环境的操作系统中定义 NODE_ENV 变量,值为 production。webpack 在运行时通过 process.env.NODE_ENV 获取变量的值,从而得出当前代码的运行环境是什么。

环境变量 PATH:系统环境变量 PATH 中存储的都是应用程序路径。当要求系统运行某一个应用程序又没有告诉它程序的完整路径时,此时操作系统会先在当前文件夹中查找应用程序,如果查找不到就会去系统环境变量 PATH 中指定的路径中查找。

25.png

1.3 安装 Node.js

33.png

LTS:长期支持版 (稳定版) 可以运行在生产环境中。

Current:最新版 (预览版) 不建议运行在生产环境中,因为可能有 BUG。

查看 Node 版本:node -v

查看 Npm 版本:npm -v

1.4 解决安装异常
  1. 解决在运行 node 命令时提示 “不是内部或外部命令, 也不是可运行的程序或批处理文件”。

27.png

将 Node 应用程序目录添加到系统环境变量中, 然后重新启动命令行工具再次执行 node 命令.

  1. 解决在安装 Node 的过程中出现代码为 2502 和 2503 的错误。

28.png

29.png

  1. 通过管理员权限打开命令行工具
  2. 切换到 node 安装包所在的目录
  3. 通过 msiexec /package node-v10.15.0-x64.msi 运行 Node 应用程序安装包
1.5 Node.js 初体验
function sayHello (name) {
  console.log('Hello' + name)
}
sayHello('Node')

在命令行工具中通过 node JavaScript 文件 的方式执行代码。

1.6 全局对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值