From d27779f62e31933ff5e3e6e4d4d7d5af00e8ae1d Mon Sep 17 00:00:00 2001 From: baolin wang Date: Sun, 3 Mar 2024 20:29:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20240229-node\345\256\211\350\243\205.md" | 8 ++ .../20240301-node\345\237\272\347\241\200.md" | 29 +++++++ .../20240302-node\346\250\241\345\235\227.md" | 75 +++++++++++++++++++ .../20240303-\346\250\241\345\235\2272.md" | 22 ++++++ 4 files changed, 134 insertions(+) create mode 100644 "\347\216\213\345\256\235\346\243\256/20240229-node\345\256\211\350\243\205.md" create mode 100644 "\347\216\213\345\256\235\346\243\256/20240301-node\345\237\272\347\241\200.md" create mode 100644 "\347\216\213\345\256\235\346\243\256/20240302-node\346\250\241\345\235\227.md" create mode 100644 "\347\216\213\345\256\235\346\243\256/20240303-\346\250\241\345\235\2272.md" diff --git "a/\347\216\213\345\256\235\346\243\256/20240229-node\345\256\211\350\243\205.md" "b/\347\216\213\345\256\235\346\243\256/20240229-node\345\256\211\350\243\205.md" new file mode 100644 index 0000000..0cc4ecd --- /dev/null +++ "b/\347\216\213\345\256\235\346\243\256/20240229-node\345\256\211\350\243\205.md" @@ -0,0 +1,8 @@ +## 第一次笔记 + +### 环境变量 + +鼠标悬浮在我的电脑,右键打开,下拉再打开高级系统设置,点击环境变量,选中在系统变量的path,浏览查看到是否有node.js,没有就添加 +### 了解npm和nvm +npm:是 Node JavaScript 平台的包管理器。它将模块放置到位,以便 node 可以找到它们,并智能地管理依赖冲突。 +nvm:是node版本管理器 \ No newline at end of file diff --git "a/\347\216\213\345\256\235\346\243\256/20240301-node\345\237\272\347\241\200.md" "b/\347\216\213\345\256\235\346\243\256/20240301-node\345\237\272\347\241\200.md" new file mode 100644 index 0000000..a6156c1 --- /dev/null +++ "b/\347\216\213\345\256\235\346\243\256/20240301-node\345\237\272\347\241\200.md" @@ -0,0 +1,29 @@ +## 第二次笔记 +### 更改镜像地址 + - npm config set registry https://registry.npmmirror.com + > 设置淘宝镜像源 + - npm config get registry + > 查看使用状态 + +### 初始化项目 +npm init 会生成package.json文件,里面有各种依赖包 +npm init -y 可以生成不询问的package.json文件 +npm install 会生成package.json文件,里面有各种依赖包到并且生成node_modules文件夹 快捷方式 npm i + +### 基础知识 + - package-lock.json 是在不更新node版本时会一直使用这个,也就是锁定,主要还是看package.json文件 + + + - var greet = require('./hello'); + + + - return module.exports; + + - JavaScript有且仅有一个全局对象,在浏览器中,叫window对象。而在Node.js环境中,也有唯一的全局对象,叫global; \ No newline at end of file diff --git "a/\347\216\213\345\256\235\346\243\256/20240302-node\346\250\241\345\235\227.md" "b/\347\216\213\345\256\235\346\243\256/20240302-node\346\250\241\345\235\227.md" new file mode 100644 index 0000000..8b69493 --- /dev/null +++ "b/\347\216\213\345\256\235\346\243\256/20240302-node\346\250\241\345\235\227.md" @@ -0,0 +1,75 @@ +## 第三次笔记 + +### 异步读写和同步读写 + +异步就是两个人同时去做事情(相当于并联) +同步是必须在第一个人做完后才能让第二个人(相当于串联) + +- 异步读取文件: +``` +var fs = require('fs'); + +fs.readFile('sample.txt', 'utf-8', function (err, data) { + if (err) { + console.log(err); + } else { + console.log(data); + } +}); +``` + - 同步读取文件: +``` +var fs = require('fs'); + +var data = fs.readFileSync('sample.txt', 'utf-8'); +console.log(data); +fs写文件 +``` + - 异步写文件 + ``` +var fs = require('fs'); + +var data = 'Hello, Node.js'; +fs.writeFile('output.txt', data, function (err) { + if (err) { + console.log(err); + } else { + console.log('ok.'); + } +}); +``` + - 同步写文件 + ``` +var fs = require('fs'); + +var data = 'Hello, Node.js'; +fs.writeFileSync('output.txt', data); +追加写入 +若 fs.writeFile() 不添加配置 则是替换式写入, +追加式写入 +fs.writeFile(x,x,{flag:'a'},x); +fs.appendFile(x,x,x,x); +fs.appendFileSync(x,x,) +``` + +### export 直接暴露使用 +export {} +用import from代替require +但一定要记得在package.json里添加 "type": "module" + + +## 判断js执行环境(是否使用在浏览器还是使用node) +``` +if (typeof(window) === 'undefined') { + console.log('node.js'); +} else { + console.log('browser'); +} +``` +## 同步、异步 + +同步:代码简单,程序将等待IO操作(程序运行有先后顺序) + + 异步:不用等待IO操作,但代码较麻烦(程序运行无顺序) +fs读取文件 + diff --git "a/\347\216\213\345\256\235\346\243\256/20240303-\346\250\241\345\235\2272.md" "b/\347\216\213\345\256\235\346\243\256/20240303-\346\250\241\345\235\2272.md" new file mode 100644 index 0000000..7b1ba4d --- /dev/null +++ "b/\347\216\213\345\256\235\346\243\256/20240303-\346\250\241\345\235\2272.md" @@ -0,0 +1,22 @@ +## 第四次笔记 + +```js + let fileStat = fs.statSync(filePath); + 使用同步方法,获得指定路径的状态 +``` +```js + + let isPathFile = fileStat.isFile(); + 利用状态,判断是否为文件 +``` +```js + let arr = fs.readdirSync(filePath); + 如果是文件夹,则利用readdirSync方法,读取目录中的所有的内容(包含文件和文件夹) +``` + +这里包含Sync后缀的均是同步进行,反之则为异步。 +### 打印文件夹及其内容思路 + > - 一、读取指定文件夹,列出所有的文件或者文件夹 + > - 二、遍历这些文件或者文件夹,判断是否文件夹,是,则继续调用读取文件夹的方法 + > - 三、一直重复第二步,直到将所有的内容都列出 + \ No newline at end of file -- Gitee