首页 > 编程语言 >[VueJsDev] 基础知识 - Node.js常用函数

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

时间:2023-01-14 21:03:50浏览次数:53  
标签:Node resolve const stream js import path VueJsDev dirname


Node.js 常用函数

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

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

Func. 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)
}
})

Func. 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

Para. 3: 入参 process.argv

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

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

Func. 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'
]

---------------------------------------------
生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果是对自己行动的嘉奖。
↑面的话,越看越不痛快,应该这么说:

生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!

新博客 ​​​https://www.VuejsDev.com​​ 用于梳理知识点



标签:Node,resolve,const,stream,js,import,path,VueJsDev,dirname
From: https://blog.51cto.com/u_15770151/6007746

相关文章

  • [VueJsDev] 基础知识 - snippetsLab 代码片段
    代码片段:::details目录目录​代码片段​​​Step.1:massCode代码片段管理​​​​Step.2:Vue2init​​:::vscode中按ctrl+p输入vue.json即可打开vue模板第......
  • [VueJsDev] 基础知识 - AutoNumber VsCode 插件开发
    AutoNumberVsCode插件开发:::details目录目录​AutoNumberVsCode插件开发​​​Step.2:安装脚手架​​​​Step.3:创建空项目​​​​Step.4:打包发布​​​​Ste......
  • [VueJsDev] 基础知识 - Button的全局节流
    Button的全局节流:::details目录目录​Button的全局节流​​​Step.1:注册函数​​​​Step.2:局部节流函数失效处理​​​​Code.3:setVueClickGlobalThrottle.js......
  • [VueJsDev] 其他知识 - 单词本
    单词本z这里的单词就是很随性的记忆,来源有生活中能见到的,或者抖音见到的等等~~:::details目录目录​单词本z​​​approachable易理解的​​​​reserved保留​​​​g......
  • [VueJsDev] 日志 - 更新日志
    更新日志:::details目录目录​更新日志​​​Log.1:安装了宝塔​​​​Log.2:Markdown语法​​​​Log.3:站点环境​​​​Log.4:服务器环境​​​​Log.5:服......
  • [VueJsDev] 日志 - BBTime-LOG
    BBTime-LOG:::details目录目录​BBTime-LOG​​​Log.1:AutoNumber成功发布到vscode插件市场了​​​​Log.2:AutoNumber.js改成vscode插件了​​​​Log.3:复盘总......
  • 三种 js & ts 树遍历生成器 All In One
    三种js&ts树遍历生成器AllInOnethreejstreetraversalgenerator/threetstreetraversalgenerator"usestrict";/****@authorxgqfrms*@lice......
  • JS_8_事件机制
    在页面内的规定行为触发函数的执行。 一、声明事件给某个标签添加事件,配合定义好的函数使用。格式:<标签名事件名="函数1名;函数2名";.....>例子:——》  ......
  • JS_7_常用方法和对象
    JS开发者提供的对象方法。  一、字符串操作常用操作:大小写转换、截取、查找。<!DOCTYPEhtml><html><head><metacharset="utf-8">......
  • js常用库
    操作时间moment.jsDay.js(轻量级)处理URLqs.js操作cookie1.js-cookie.js处理数组、对象、字符串Lodash调试移动端Vconsole......