[VueJsDev] 基础知识 - Node.js常用函数

[VueJsDev] 目录列表
https://www.cnblogs.com/pengchenggang/p/17037320.html

1|0Node.js 常用函数

总结常用 node 函数 用的 ESM 模块。

// package.json "type": "module",

1|1Func. 1: 读取文件-同步/异步

读取 path 文件 ESM模式

  • 同步读取文件
import { readFileSync } from "fs" import { fileURLToPath } from "url" import { dirname, resolve } from "path" const __dirname = dirname(fileURLToPath(import.meta.url)) const path = resolve(__dirname, "path/data.json") const data = readFileSync(path, { encoding: "utf-8" }) console.log(data)
  • 异步读取文件 - 异步函数可以配合 getAc
import { readFile } from "fs" import { fileURLToPath } from "url" import { dirname, resolve } from "path" const __dirname = dirname(fileURLToPath(import.meta.url)) const path = resolve(__dirname, "path/data.json") readFile(path, { encoding: "utf-8" }, (err, data) => { if (!err) { console.log(data) } else { console.error(err) } })

1|2Func. 2: 写入文件-同步

import { writeFileSync, mkdirSync, existsSync } from "fs" import { fileURLToPath } from "url" import { dirname, resolve } from "path" const __dirname = dirname(fileURLToPath(import.meta.url)) const title = '111' const outputDir = resolve(__dirname, "output") const outputFile = resolve(outputDir, `${title}.txt`) // 检查outputDir是否存在,没有则创建一个 if (!existsSync(outputDir)) { mkdirSync(outputDir) } const text = `123` writeFileSync(outputFile, text) // 将text写入outputFile文件中 return outputFile

1|3Para. 3: 入参 process.argv

脚本接收的参数 以数组的形式接收

console.info('process.argv', process.argv)

1|4Func. 4: 查看module全部模块

查看node环境 全部模块

// commonjs const {builtinModules} = require('module'); console.log(builtinModules); // esm import {builtinModules} from 'module' console.log(builtinModules); // output [ '_http_agent', '_http_client', '_http_common', '_http_incoming', '_http_outgoing', '_http_server', '_stream_duplex', '_stream_passthrough', '_stream_readable', '_stream_transform', '_stream_wrap', '_stream_writable', '_tls_common', '_tls_wrap', 'assert', 'assert/strict', 'async_hooks', 'buffer', 'child_process', 'cluster', 'console', 'constants', 'crypto', 'dgram', 'diagnostics_channel', 'dns', 'dns/promises', 'domain', 'events', 'fs', 'fs/promises', 'http', 'http2', 'https', 'inspector', 'module', 'net', 'os', 'path', 'path/posix', 'path/win32', 'perf_hooks', 'process', 'punycode', 'querystring', 'readline', 'repl', 'stream', 'stream/consumers', 'stream/promises', 'stream/web', 'string_decoder', 'sys', 'timers', 'timers/promises', 'tls', 'trace_events', 'tty', 'url', 'util', 'util/types', 'v8', 'vm', 'worker_threads', 'zlib' ]

__EOF__

本文作者Reciter
本文链接https://www.cnblogs.com/pengchenggang/p/17037416.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   彭成刚  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2010-01-09 自己的一个common.db的数据库连库工具 C#2.0 .net
点击右上角即可分享
微信分享提示