Node.js笔记总结(day1)(一)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Node.js笔记总结(day1)

今日目标

  • 能够知道什么是 Node.js
  • 能够知道 Node.js 可以做什么
  • 能够说出 Node.js 中的 JavaScript 的组成部分
  • 能够使用 fs 模块读写操作文件
  • 能够使用 path 模块处理路径


1 初识Node.js

1.1 回顾与思考
  • 思考1:已经掌握了哪些技术
    39e9ee7f53094e9ebffb0d462bdc2159.png


  • 思考2:浏览器中的JavaScript的组成部分

0ed10b389c51451cbc50e16dae1fd00f.png


  • 思考3:为什么 JavaScript 可以在浏览器中被执行

说明:待执行的js代码 -> JavaScript解析引擎

扩展:不同的浏览器使用不同的 JavaScript 解析引擎

1、Chrome 浏览器 => V8

2、Firefox 浏览器 => OdinMonkey(奥丁猴)

3、Safri 浏览器 => JSCore

4、IE 浏览器 => Chakra(查克拉)

  • 等等…
    其中,Chrome 浏览器的 V8 解析引擎性能最好!
  • 思考4:为什么 JavaScript 可以操作 DOM 和 BOM
    说明:每个浏览器都内置了 DOM、BOM 这样的 API 函数,因此,浏览器中的 JavaScript 才可以调用它们。
  • 思考5:浏览器中的JavaScript运行环境

说明:运行环境是指代码正常运行所需的必要环境。

总结:1、V8 引擎负责解析和执行 JavaScript 代码。

2、内置 API 是由运行环境提供的特殊接口, 只能在所属的运行环境中被调用。

image.png


  • 思考6:JavaScript能否做后端开发

b6d97ba0083d49549b76c25bab9a468f.jpg


1.2 Node.js简介
  • 什么是Node.js
    官方简介:Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine
  • 中文翻译:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境
    官网地址: https://nodejs.org/zh-cn/
  • Node.js 中的 JavaScript 运行环境node运行环境.png

d87d9eafb610479a8e37ceb1c02e6b5e.png

注意:1、浏览器是 JavaScript 的前端运行环境。

2、Node.js 是 JavaScript 的后端运行环境。

3、Node.js 中无法调用 DOM 和 BOM 等 浏览器内置 API。

  • Node.js可以做什么

Node.js 作为一个 JavaScript 的运行环境,仅仅提供了基础的功能和 API。然而,基于 Node.js 提供的这些基础能,很多强大 的工具和框架如雨后春笋,层出不穷,所以学会了 Node.js ,可以让前端程序员胜任更多的工作和岗位。


node相关框架:

1、基于 Express 框架(http://www.expressjs.com.cn/),可以快速构建 Web 应用

2、基于 Electron 框架(https://electronjs.org/),可以构建跨平台的桌面应用

3、基于 restify 框架(http://restify.com/),可以快速构建 API 接口项目

4、读写和操作数据库、创建实用的命令行工具辅助前端开发、等等…


  • 总结:Node.js 是大前端时代的“大宝剑”,有了 Node.js 这个超级 buff 的加持,前端程序员的行业竞争力会越来越强!
  • Node.js好学吗
    会写JavaScript就能很快上手


Node.js怎么学

  • 浏览器中的 JavaScript 学习路径:
    JavaScript 基础语法 + 浏览器内置 API(DOM + BOM) + 第三方库(jQuery、art-template 等)
  • Node.js 的学习路径:
    JavaScript 基础语法 + Node.js 内置 API 模块(fs、path、http等)+ 第三方 API 模块(express、mysql 等)


1.3 Node.js环境安装

如果希望通过 Node.js 来运行 Javascript 代码,则必须在计算机上安装 Node.js 环境才行。

安装包可以从 Node.js 的官网首页直接下载,进入到 Node.js 的官网首页(https://nodejs.org/en/),点击 绿色的按钮,下载所需的版本后,双击直接安装即可。

  • 注意:我们的Node.js必须安装在默认路径

be17dcf9ab9d46a9a417063adb2caae3.png


区分 LTS 版本和 Current 版本的不同

  • LTS 为长期稳定版,对于追求稳定性的企业级项目来说,推荐安装 LTS 版本的 Node.js。
  • Current 为新特性尝鲜版,对热衷于尝试新特性的用户来说,推荐安装 Current 版本的 Node.js。但是,Current 版本中可 能存在隐藏的 Bug 或安全性漏洞,因此不推荐在企业级项目中使用 Current 版本的 Node.js。
  • 查看已安装的 Node.js 的版本号
    步骤:打开终端 -> 输入命令 node –v -> 按下回车键
    Windows 系统快速打开终端的方式:
    使用快捷键(Windows徽标键 + R)打开运行面板,输入 cmd 后直接回车,即可打开终端。
  • 什么是终端

image.png


终端(英文:Terminal):是专门为开发人员设计的,用 于实现人机交互的一种方式。

作为一名合格的程序员,我们有必要识记一些常用的终端命令,来辅助我们更好的操作与使用计算机。


1.4 在Node.js环境中执行JS代码

步骤:打开终端 -> 输入 node 要执行的js文件的路径

如:

819cfa7444a94a5e9176f9d31c05cddd.png


1.5 更快捷的打开终端
  1. 在文件夹地址栏区域,输入 cmd ,既可以打开终端

788483a2c3c246dbbe5a561ae96f557b.png


  1. 按住shift,同时点击鼠标右键,在此处打开 powershell

0db17a8c2428494195e80285f2b3ad2a.png


终端中的快捷键

在 Windows 的 powershell 或 cmd 终端中,我们可以通过如下快捷键,来提高终端的操作效率:

  • 使用 键,可以快速定位到上一次执行的命令
  • 使用tab 键,能够快速补全路径
  • 使用 esc 键,能够快速清空当前已输入的命令(mac不支持)
  • 输入 cls 命令,可以清空终端(mac中为clear


2 fs文件系统模块

1.1 什么是fs文件系统模块

说明:fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。

fs.readFile() // 用来读取指定文件中的内容
fs.writeFile() // 用来向指定的文件中写入内容


如果要在 JavaScript 代码中,使用 fs 模块来操作文件,则需要使用如下的方式先导入它:

const fs = require("fs");


2、读取指定文件中的内容
  • fs.readFile() 的语法格式
    使用 fs.readFile() 方法,可以读取指定文件中的内容,语法格式如下:
fs.readFile(path[, options], callback);


参数解读:

参数 说明
path 必选参数,字符串,表示文件的路径。
options 可选参数,表示以什么编码格式来读取文件。
callback 必选参数,文件读取完成后,通过回调函数拿到读取的结果。


  • fs.readFile() 示例代码

以 utf8 的编码格式,读取指定文件的内容,并打印 err 和 dataStr 的值:

const fs = require("fs");
fs.readFile("./files/1.txt", "utf8", function (err, dataStr) {
  console.log(err);
  console.log("------------");
  console.log(dataStr);
});


  • 判断文件是否读取成功

可以判断 err 对象是否为 null,从而知晓文件读取的结果:

const fs = require('fs')
fs.readFile('./files/1.txt', 'utf8', function(err, dataStr) {
  if (err) {
    console.log('文件读取失败!'+ err.message);
    return 
  }
  console.log('文件读取成功,内容是:' + dataStr);
})


3、向指定的文件中写入内容
  • fs.writeFile() 语法格式
    使用 fs.writeFile() 方法,可以向指定的文件中写入内容,语法格式如下:
fs.writeFile(file, data[, options], callback);


参数解读:

参数 说明
file 必选参数,需要指定一个文件路径的字符串,表示文件的存放路径
data 必选参数,表示要写入的内容
options 可选参数,表示以什么格式写入文件内容,默认值是 utf8
callback 必选参数,文件写入完成后的回调函数


fs.writeFile() 示例代码

向指定的文件路径中,写入文件内容:

const fs = require("fs");
fs.writeFile("./files/2.txt", "Hello Node.js", function (err) {
  console.log(err);
});


判断文件是否写入成功

可以判断 err 对象是否为 null,从而知晓文件写入的结果:

const fs = require("fs");
fs.writeFile("./files/2.txt", "Hello Node.js", function (err) {
  if (err) {
    console.log("文件写入失败!" + err.message);
    return 
  }
  console.log('文件写入成功!');
});








目录
相关文章
|
7月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
56 0
|
1月前
|
自然语言处理 JavaScript 前端开发
[JS]同事看了我做的this笔记,直摇头,坦言:我还是参考启发博文吧
本文介绍了JavaScript中`this`关键字的重要性和使用规则。作者回顾了早期笔记,总结了`this`指向的各种情况,并分享了最新的理解。文章强调了`this`在不同上下文中的指向,包括对象方法、全局函数、箭头函数等,并提供了改变`this`指向的方法。适合JavaScript开发者参考。
49 2
|
3月前
|
JavaScript 前端开发 Java
JavaScript笔记(回顾一,基础知识篇)
JavaScript基础知识点回顾,包括语言定义、ECMAScript规范、字面量、变量声明、操作符、关键字、注释、流程控制语句、数据类型、类型转换和引用数据类型等。
JavaScript笔记(回顾一,基础知识篇)
|
4月前
|
存储 缓存 自然语言处理
深入理解JS | 青训营笔记
深入理解JS | 青训营笔记
44 0
|
6月前
|
JavaScript vr&ar 数据库
技术笔记:Js获取当前日期时间及其它操作
技术笔记:Js获取当前日期时间及其它操作
149 1
|
6月前
|
数据采集 存储 编解码
技术笔记:Node.jsmm131图片批量下载爬虫1.01增加断点续传功能
技术笔记:Node.jsmm131图片批量下载爬虫1.01增加断点续传功能
108 0
|
6月前
|
Web App开发 JavaScript iOS开发
技术笔记:js数组定义和方法(包含ES5新增数组方法)
技术笔记:js数组定义和方法(包含ES5新增数组方法)
|
6月前
|
JavaScript BI
技术笔记:JS获取子节点、父节点和兄弟节点的方法实例总结
技术笔记:JS获取子节点、父节点和兄弟节点的方法实例总结
110 0
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的笔记记录分享网站附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的笔记记录分享网站附带文章源码部署视频讲解等
40 0