From 37ed7146c94b38a4c85665a20e838237395a9fed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E9=B8=A3=E6=9D=B0?= <2958949458@qq.com> Date: Sun, 3 Mar 2024 21:44:51 +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 --- .../node_demo/node_demo/app.js" | 48 +++++++++++++++ .../node_demo/node_demo/kk/33.txt" | 0 .../node_demo/node_demo/kk/pp/66.txt" | 0 .../node_demo/node_demo/package.json" | 13 ++++ .../node_demo/node_demo/uu.txt" | 1 + .../node_demo/node_demo/yy.txt" | 1 + ...40301- require\346\214\207\344\273\244.md" | 35 +++++++++++ ...26\345\222\214\345\206\231\345\205\245.md" | 11 ++++ ...00\346\237\245\347\212\266\346\200\201.md" | 59 +++++++++++++++++++ .../\347\254\224\350\256\260/nodejs npm.md" | 13 ++++ .../hell.js" | 21 +++++++ .../hi.js" | 21 +++++++ .../package.json" | 13 ++++ .../well.js" | 1 + ...46\210\220\347\273\251\345\215\225-ok.txt" | 5 ++ .../\346\210\220\347\273\251\345\215\225.txt" | 1 + ...64\347\220\206\346\210\220\347\273\251.js" | 30 ++++++++++ 17 files changed, 273 insertions(+) create mode 100644 "\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/app.js" create mode 100644 "\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/kk/33.txt" create mode 100644 "\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/kk/pp/66.txt" create mode 100644 "\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/package.json" create mode 100644 "\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/uu.txt" create mode 100644 "\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/yy.txt" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240301- require\346\214\207\344\273\244.md" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240302-\350\257\273\345\217\226\345\222\214\345\206\231\345\205\245.md" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240303-\350\257\273\345\217\226\347\233\256\345\275\225\346\243\200\346\237\245\347\212\266\346\200\201.md" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/nodejs npm.md" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/hell.js" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/hi.js" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/package.json" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/well.js" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\210\220\347\273\251\345\215\225-ok.txt" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\210\220\347\273\251\345\215\225.txt" create mode 100644 "\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\225\264\347\220\206\346\210\220\347\273\251.js" diff --git "a/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/app.js" "b/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/app.js" new file mode 100644 index 0000000..f9953f3 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/app.js" @@ -0,0 +1,48 @@ +import fs from 'fs'; +import path from 'path'; + +function listAllFiles(dirPath, includeEmptyDirs = false) { + let results = []; + + try { + const items = fs.readdirSync(dirPath, { withFileTypes: true }); + + // 如果目录为空且需要包含空目录,则直接添加当前目录路径 + if (items.length === 0 && includeEmptyDirs) { + results.push(dirPath); + } + + items.forEach(item => { + const fullPath = path.join(dirPath, item.name); + try { + if (item.isDirectory()) { + // 对于每个子目录,递归调用来处理文件夹内部 + const subDirFiles = listAllFiles(fullPath, includeEmptyDirs); + if (includeEmptyDirs && subDirFiles.length === 0) { + // 如果子目录为空,并且决定包含空目录,子目录路径已经在递归调用中被添加 + // 这里不做任何操作,避免重复添加 + } else { + // 如果子目录不为空,递归结果已经包含所有子文件和子目录路径 + results = results.concat(subDirFiles); + } + } else { + // 如果是文件,则添加到结果数组中 + results.push(fullPath); + } + } catch (err) { + console.error(`Error accessing ${fullPath}: ${err}`); + } + }); + } catch (err) { + console.error(`Error reading directory ${dirPath}: ${err}`); + } + + return results; +} + +try { + const fileList = listAllFiles('./', true); // 第二个参数设置为true以包含空文件夹的路径 + console.log(fileList); +} catch (err) { + console.error(`Error listing files: ${err}`); +} \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/kk/33.txt" "b/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/kk/33.txt" new file mode 100644 index 0000000..e69de29 diff --git "a/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/kk/pp/66.txt" "b/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/kk/pp/66.txt" new file mode 100644 index 0000000..e69de29 diff --git "a/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/package.json" "b/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/package.json" new file mode 100644 index 0000000..2bfb583 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/package.json" @@ -0,0 +1,13 @@ +{ + "name": "node_demo", + "version": "5.3.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "module" +} diff --git "a/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/uu.txt" "b/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/uu.txt" new file mode 100644 index 0000000..176a7ed --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/uu.txt" @@ -0,0 +1 @@ + 长城长 \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/yy.txt" "b/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/yy.txt" new file mode 100644 index 0000000..6804950 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\344\275\234\344\270\232/\346\237\245\350\257\242\346\226\207\344\273\266\345\244\271\350\267\257\345\276\204/node_demo/node_demo/yy.txt" @@ -0,0 +1 @@ +明天会更好 \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240301- require\346\214\207\344\273\244.md" "b/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240301- require\346\214\207\344\273\244.md" new file mode 100644 index 0000000..09cb849 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240301- require\346\214\207\344\273\244.md" @@ -0,0 +1,35 @@ +在Node.js中,使用`require`指令可以加载和引入模块。`require`指令的用法有两种: + + + +1. 加载核心模块:可以直接使用模块的名称来加载核心模块,例如: + + + +``` +const fs = require('fs'); + + 复制 + +``` + + + +1. 加载文件模块:需要指定文件模块的相对路径或绝对路径,例如: + + + +``` +const myModule = require('./myModule'); + + 复制 + +``` + + + +在加载文件模块时,可以不带文件扩展名,Node.js会按照以下顺序尝试加载模块文件:.js、.json、.node。 + + + +在加载和引入模块后,可以使用引入的模块中导出的函数、变量等功能。 \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240302-\350\257\273\345\217\226\345\222\214\345\206\231\345\205\245.md" "b/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240302-\350\257\273\345\217\226\345\222\214\345\206\231\345\205\245.md" new file mode 100644 index 0000000..625bd26 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240302-\350\257\273\345\217\226\345\222\214\345\206\231\345\205\245.md" @@ -0,0 +1,11 @@ + + # 调用fs.readFile()方法读取文件 +参数1: './hi.js' 读取文件的存放路径 + 参数2: 'utf8' 读取文件采用的编码格式,默认为utf8,可不写 + 参数3: function zmj(err,dataStr) 拿到读取失败和成功的结果 err dataStr + + + # //fs.writeFile() +// 参数1: './hell.js' 读取文件的存放路径 +// 参数2: hello 表示要写入的内容 +// 参数3: 回调函数,无论成功或者失败都会调用函数引用的内容 \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240303-\350\257\273\345\217\226\347\233\256\345\275\225\346\243\200\346\237\245\347\212\266\346\200\201.md" "b/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240303-\350\257\273\345\217\226\347\233\256\345\275\225\346\243\200\346\237\245\347\212\266\346\200\201.md" new file mode 100644 index 0000000..6eceebe --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/20240303-\350\257\273\345\217\226\347\233\256\345\275\225\346\243\200\346\237\245\347\212\266\346\200\201.md" @@ -0,0 +1,59 @@ +### 1. 读取目录内容 + +使用`fs.readdir`或者`fs.readdirSync`方法。`fs.readdir`是异步的,而`fs.readdirSync`是同步的。 + +### fs.readdir + +``` +javascriptCopy Code解释const fs = require('fs'); + +// 目录路径 +const directoryPath = '/path/to/directory'; + +fs.readdir(directoryPath, (err, files) => { + if (err) { + console.error('Error reading directory:', err); + return; + } + console.log('Directory contents:', files); +}); +``` + +### fs.readdirSync + +``` +javascriptCopy Code解释const fs = require('fs'); + +// 目录路径 +const directoryPath = '/path/to/directory'; + +try { + const files = fs.readdirSync(directoryPath); + console.log('Directory contents:', files); +} catch (err) { + console.error('Error reading directory:', err); +} +``` + +## 2.检查目录状态 + +### fs.stat + +`fs.stat`方法以异步的方式获取文件或目录的状态信息。这意味着它不会阻塞程序的其他操作;状态信息的获取在后台进行,完成后通过回调函数返回结果。 + +``` +javascriptCopy Code解释const fs = require('fs'); + +// 文件或目录的路径 +const path = '/path/to/file-or-directory'; + +fs.stat(path, (err, stats) => { + if (err) { + console.error('Error getting file stats:', err); + return; + } + + console.log('File Stats:', stats); + +}); +``` \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/nodejs npm.md" "b/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/nodejs npm.md" new file mode 100644 index 0000000..b22cc10 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\254\224\350\256\260/nodejs npm.md" @@ -0,0 +1,13 @@ +#### 设置淘宝镜像源 + +```ja +npm config set registry https://registry.npmmirror.com/ +``` + +#### 查看镜像使用状态: + +```csharp +npm config get registry +``` + +如果返回https://registry.npmmirror.com/,说明配置的是淘宝镜像 \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/hell.js" "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/hell.js" new file mode 100644 index 0000000..9ec607e --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/hell.js" @@ -0,0 +1,21 @@ +//导入fs模块,来操作文件 fs模块是安装node.js自带的 +const xy =require("fs"); + +//调用fs.readFile()方法读取文件 +// 参数1: './hi.js' 读取文件的存放路径 +// 参数2: 'utf8' 读取文件采用的编码格式,默认为utf8,可不写 +// 参数3: function zmj(err,dataStr) 拿到读取失败和成功的结果 err dataStr +xy.readFile('./hi.js' ,'utf8',function zmj(err,dataStr){ + console.log(err); + console.log("------"); + console.log(dataStr); +//判断是否读取成功 + if(err){ + console.log('读取失败'); +}else { + console.log('读取成功'); +} +}) + +//如果读取成功,则err的值为null,如果读取失败则err的值为错误对象,dataStr的值为undefined +// 所以可以判断 diff --git "a/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/hi.js" "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/hi.js" new file mode 100644 index 0000000..0b50825 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/hi.js" @@ -0,0 +1,21 @@ + +//导入fs模块,来操作文件 fs模块是安装node.js自带的 +const zmj =require("fs"); + +//fs.writeFile() +// 参数1: './hell.js' 读取文件的存放路径 +// 参数2: hello 表示要写入的内容 +// 参数3: 回调函数,无论成功或者失败都会调用函数引用的内容 + +zmj.writeFile('./well.js','hello',function aaa(err){ + console.log(err); + if(err){ + console.log("写入失败"); + }else{ + console.log("写入成功"); + } +}) + + + +//如果写入成功,err的值为null,可用作判断 \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/package.json" "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/package.json" new file mode 100644 index 0000000..07c520b --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/package.json" @@ -0,0 +1,13 @@ +{ + "name": "w", + "version": "1.0.0", + "main": "hell.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "keywords": [], + "description": "" + +} diff --git "a/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/well.js" "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/well.js" new file mode 100644 index 0000000..b6fc4c6 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/well.js" @@ -0,0 +1 @@ +hello \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\210\220\347\273\251\345\215\225-ok.txt" "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\210\220\347\273\251\345\215\225-ok.txt" new file mode 100644 index 0000000..d8ef364 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\210\220\347\273\251\345\215\225-ok.txt" @@ -0,0 +1,5 @@ +小蓝:99 +小白:88 +小红:90 +小绿:78 +小紫:87 \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\210\220\347\273\251\345\215\225.txt" "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\210\220\347\273\251\345\215\225.txt" new file mode 100644 index 0000000..23584f2 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\210\220\347\273\251\345\215\225.txt" @@ -0,0 +1 @@ +小蓝=99 小白=88 小红=90 小绿=78 小紫=87 \ No newline at end of file diff --git "a/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\225\264\347\220\206\346\210\220\347\273\251.js" "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\225\264\347\220\206\346\210\220\347\273\251.js" new file mode 100644 index 0000000..32ac009 --- /dev/null +++ "b/\351\222\237\351\270\243\346\235\260/\347\273\203\344\271\240/require\345\206\231\345\205\245\350\257\273\345\217\226/\347\273\203\344\271\240/\346\225\264\347\220\206\346\210\220\347\273\251.js" @@ -0,0 +1,30 @@ +const op = require('fs'); +//读取./成绩单.txt的内容 +op.readFile('./成绩单.txt', 'utf8', function Read(err, dataStr) { + + if(err){ + console.log("读取失败"+err.message); + }else{ + console.log("读取成功"+ dataStr); + } + //将读取的内容分割开来 + var arrOld = dataStr.split(" "); + console.log(arrOld); + var arrNew =[]; + //循环遍历数组将每一项的等于号替换为冒号 + arrOld.forEach(item=>{ + + arrNew.push(item.replace('=',':')) + }) + //换行 + var arr = arrNew.join('\r\n') + +//写入修改过后的成绩单 + op.writeFile('./成绩单-ok.txt',arr,function (err){ + if(err){ + console.log("成绩写入失败"+err.message); + }else{ + console.log("成绩写入成功"); + } + }) +}) \ No newline at end of file -- Gitee