type
status
date
slug
summary
tags
category
icon
password
🔑
这是我系统入门 Node 开发的第一篇学习笔记,从今天开始,我要记录学习 Node 服务端开发过程中的点点滴滴,今天入门一下 Node 的一些基础概念
 

📝 Node.js 基础概念

学习 Node 开发之前有两个问题必须搞懂
  1. Node.js 到底是什么?
    1. Node.js 是 JavaScript 的运行环境,是一个基于 Chrome 的 V8 引擎的 JavaScript 运行环境。Node.js 允许在服务器端执行 JavaScript 代码,并提供了一个可以处理文件系统、网络请求和其他后台任务的环境,是一个除了浏览器之外可以让 JavaScript 代码运行的环境。
       
  1. 为什么浏览器可以运行 JavaScript 代码?
    1. 浏览器可以运行 JavaScript 代码,是因为浏览器内置了 JavaScript 引擎(如 Chrome 的 V8 引擎),这些引擎会 JavaScript 代码编译解析成机器码,交给 cpu 进行运算,最终得到结果。
       
  1. Node.js 和 JavaScript 的关系
    1. JavaScript 是一种编程语言,而 Node.js 是一个运行时环境,它允许 JavaScript 代码在浏览器之外的环境中执行。浏览器提供了与网页交互相关的 API,如 DOM 操作、网络请求等;而 Node.js 提供了用于与操作系统交互的 API,例如文件系统操作、网络通信和命令行工具。总的来说,Node.js 扩展了 JavaScript 的应用场景,使其可以用于服务器端编程和其他后台任务。
 

📝 Node.js 如何运行 JavaScript 代码

很简单,在命令行中执行 node + 文件名就行了,比如node index.js

📝 Node.js 文件操作

  1. 引入“文件系统模块”
  1. 读取文件
  1. 写入文件(写入的内容会重置原有的内容)
  1. 追加内容
追加内容的方法就是先读取里面的内容然后再将新内容拼接后写入,从而达到追加效果

📝 Node.js 模块化概念

  1. require('fs') 到底是什么意思?
在 Node.js 中,fs 是一个内置模块,提供了与文件系统交互的功能。require('fs') 的确是引入了 fs 模块,而不是某个特定的 API。通过引入 fs 模块,你可以访问和使用该模块中提供的各种 API 来进行文件操作,比如读取、写入、监视文件等
  1. 什么是模块化?
每个文件就是一个模块。模块内的变量和方法默认是私有的,不能被其他模块直接访问。要让其他模块使用这些变量和方法,需要通过 module.exports 导出它们,然后在其他模块中通过 require 导入
  1. 为什么是 module.exports 导出,require 导入
因为 Node.js 默认使用 CommonJS 规范,module.exports、require 是CommonJS 规范定义了模块的导入和导出方式,和 ECMAScript Module 模块化规范完全不同,比如说前端开发经常使用的 import、export 语法其实就是 ECMAScript module 的规范
  1. Node.js 如何使用 ECMAScript module
Node.js 默认是不支持 ES module 规范的,解决方案有两种,第一种方案是修改文件后缀名,改成 .mjs ,第二种方案在 package.json 设置 "type": "module"
 
 
 
Node 入门之脚手架工具开发npm和yarn常用命令对比