node.js内置模块fs,path,http使用方法
NodeJs中分为两部分
一是V8引擎为了解析和执行JS代码。
二是内置API,让JS能调用这些API完成一些后端操作。
内置API模块(fs、path、http等)
第三方API模块(express、mysql等)
fs模块
fs.readFile()方法,用于读取指定文件中的内容。
fs.writeFile()方法,用于向执行的文件中写入内容
// fs 文件读写模块
fs.readFile(path[, options], callback)// path:必选,字符串,表示文件路径。
// options:可选,表示以什么编码格式来读取文件。
// callback:必选,文件读取完成后,通过回调函数拿到读取的结果。
fs.readFile('./file.txt', 'utf8', function(err, sucess){// 打印失败的结果// 读取失败时err会返回错误对象,sucess会返回undefinedconsole.log(err)console.log("-------------------------")// 打印成功的结果console.log(sucess)
})
const fs = require("fs")
// 2.调用fs.writeFile()方法,写入文件内容
// 参数1:读取文件的存放路径
// 参数2:data:表示要写入的内容。
// 参数3:表示以什么格式写入文件内容,默认值是utf8。
// 参数4:文件写入完成后的回调函数。
fs.writeFile('./file.txt', "Holle", 'utf8', function(err){// 打印失败的结果console.log(err)
})
path路径处理模块
path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串
path.basename()方法,用来从路径字符串中,将文件名解析出来
// 合成路径的时候,'…/'会抵消掉一层路径const path = require('path')const path = path.join('/a', '/b/c', '../', './d', 'e')
console.log(path)
// \a\b\d\e
const path2 = path.join(__dirname, './files/123.txt')
console.log(path2)
// __dirname:表示当前js文件所处的目录
// path.basename(),从一个文件路径中,获取到文件的名称部分:const path = require('path')const path = '/a/b/c/index.html'
var fullName = path.basename(path)
console.log(fullName)
// index.htmlvar n = path.basename(path, ".html" )
console.log(n)
// index
// 使用path.extname()方法,可以获取路径中的扩展名部分const path = require('path')const fpath = '/a/b/c/index.html'
const fext = path.extname(fpath)
console.log(fext)
// .html
http
通过 http模块提供的 http.createServer()方法,把一台普通的电脑,变成一台Web服务器,从而对外提供Web资源服务。
/ 导入http模块
const http = require('http')
// 创建web 服务器实例
const server = http.createServer()
// 为服务器实例绑定request事件,监听客户端的请求
server.on( 'request', (req,res) => {
// req 客户端请求信息
// res 服务器响应信息// 解决中文乱码问题
//发送的内容包含中文const str =`您请求的url地址是${req.url},请求的 method类型是${req.method}`// 为了防止中文显示乱码的问题,需要设置响应头Content-Type 的值为 text/html; charset=utf-8res.setHeader( 'Content-Type', 'text/html; charset=utf-8')// 把包含中文的内容,响应给客户端res.end(str)// 只要有客户端来请求我们自己的服务器,就会触发request 事件,从而调用这个事件处理函数console.log( 'Someone visit our web server.' )
})// 启动服务器
server.listen(8080, () =>{console.log('http server running at http://127.0.0.1:8080')
})只要有人访问http://127.0.0.1:8080,那么终端就会打印Someone visit our web server.但是由于没有写任何返回值,页面会等着客户端返回数据。相关文章:
node.js内置模块fs,path,http使用方法
NodeJs中分为两部分 一是V8引擎为了解析和执行JS代码。 二是内置API,让JS能调用这些API完成一些后端操作。 内置API模块(fs、path、http等) 第三方API模块(express、mysql等) fs模块 fs.readFile()方法,用于读取指定文件中的内容。 fs.writeFile()方…...
【git clone error:no matching key exchange method found】
拉起项目代码报错 git clone ssh://uidxxxgerrit-xxxxxxxx Cloning into ‘xxxxx’… Unable to negotiate with xxx.xx.xxx.ip port xxxxx: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 fatal: Could not …...
谈谈网络协议的定义、组成和重要性
个人主页:insist--个人主页 本文专栏:网络基础——带你走进网络世界 本专栏会持续更新网络基础知识,希望大家多多支持,让我们一起探索这个神奇而广阔的网络世界。 目录 一、网络协议的定义 二、网络协议的组成 1、…...
ssh免密登陆报错ERROR: @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
问题描述: 在日常的运维中需要做ssh的免密登陆有提示如下的报错内容: [rootpaas-harbor01 cce-v5.2.3]# ssh-copy-id 192.45.66.14 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-c…...
【kubernetes】Pod控制器
目录 Pod控制器及其功用 pod控制器有多种类型 1、ReplicaSet ReplicaSet主要三个组件组成 2、Deployment 3、DaemonSet 4、StatefulSet 5、Job 6、Cronjob Pod与控制器之间的关系 1、Deployment 查看控制器配置 查看历史版本 2、SatefulSet 为什么要有headless&…...
aspose.ocr 的图片识别
操作aspose.ocr版本 <dependency><groupId>aspose</groupId><artifactId>ocr</artifactId><version>23.7.1-SNAPSHOT</version></dependency>官网下载地址 https://releases.aspose.com/ocr/java/ 记录一些简单的识别图片操…...
安卓纯代码布局开发游戏二:Android Studio开发环境搭建
1.Android Studio下载: Download Android Studio & App Tools - Android Developers 2.安装 安装过程非常简单,找到下载包,一直点Next即可。 3.下载Android SDK 第一次进入Android Studio默认会先下载Android SDK,笔者下载的Android SDK存…...
HuggingFace开源的自然语言处理AI工具平台
HuggingFace是一个开源的自然语言处理AI工具平台,它为NLP的开发者和研究者提供了一个简单、快速、高效、可靠的解决方案,让NLP变得更加简单、快速、高效、可靠。 Hugging Face平台主要包括以下几个部分: Transformers:一个提供了…...
ant-design-vue在ios使用AUpload组件唤起了相机,HTML的 `capture` 属性
在使用ant design vue组件的上传组件AUpload的时候有一个问题,直接按照demo写,在ios上会唤起相机,但是实际上我们的需求是弹出选择相册/相机这个弹框。 解决办法是加一个 cupture"null"这个属性即可 <a-upload:capture"nu…...
力扣75——图深度优先搜索
总结leetcode75中的图深度优先搜索算法题解题思路。 上一篇:力扣75——二叉搜索树 力扣75——图深度优先搜索 1 钥匙和房间2 省份数量3 重新规划路线4 除法求值1-4 解题总结 1 钥匙和房间 题目: 有 n 个房间,房间按从 0 到 n - 1 编号。最初…...
小程序前台Boot后台校园卡资金管理系统java web学校进销存食堂挂失jsp源代码
本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 小程序前台Boot后台校园卡资金管理系统 系统有2权限&…...
数学建模-多元线性回归笔记
数学建模笔记 1.学模型✅ 2.看专题论文并复习算法 多元线性回归 无偏性:预测值与真实值非常接近一致性:样本量无限增大,收敛于待估计参数的真值如何做:控制核心解释变量和u不相关 四类模型回归系数的解释 截距项不用考虑一元线性…...
云安全攻防(十二)之 手动搭建 K8S 环境搭建
手动搭建 K8S 环境搭建 首先前期我们准备好三台 Centos7 机器,配置如下: 主机名IP系统版本k8s-master192.168.41.141Centos7k8s-node1192.168.41.142Centos7k8s-node2192.168.41.143Centos7 前期准备 首先在三台机器上都执行如下的命令 # 关闭防火墙…...
Python学习笔记_基础篇(八)_正则表达式
1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则…...
【洛谷 P5736】【深基7.例2】质数筛 题解(判断质数)
【深基7.例2】质数筛 题目描述 输入 n n n 个不大于 1 0 5 10^5 105 的正整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。 输入格式 第一行输入一个正整数 n n n,表示整数个数。 第二行输入 n n n 个正整数 …...
C语言好题解析(一)
目录 选择题1选择题2选择题3选择题4编程题一 选择题1 执行下面程序,正确的输出是( )int x 5, y 7; void swap() {int z;z x;x y;y z; } int main() {int x 3, y 8;swap();printf("%d,%d\n",x, y);return 0; }A: 5,7 B: …...
uniapp微信小程序区分正式版,开发版,体验版
小程序代码区分是正式版,开发版,还是体验版 通常正式和开发环境需要调用不同域名接口,发布时需要手动更换 或者有些东西不想在正式版显示,只在开发版体验版中显示,也需要去手动隐藏 官方没有明确给出判断环境的方法&a…...
更多openEuler镜像加入AWS Marketplace!
自2023年7月openEuler 22.03 LTS SP1正式登陆AWS Marketplace后,openEuler社区一直持续于在AWS上提供更多版本。 目前,openEuler22.03 LTS SP1 ,SP2两个版本及 x86 arm64两种架构的四个镜像均可通过AWS对外提供,且在亚太及欧洲15个Region开放…...
【BASH】回顾与知识点梳理(二十四)
【BASH】回顾与知识点梳理 二十四 二十四. 权限规划和身份切换24.1 主机的细部权限规划:ACL 的使用什么是 ACL 与如何支持启动 ACL如何启动 ACL 24.2 ACL 的设定技巧: getfacl, setfaclsetfacl 指令用法介绍及最简单的『 u:账号:权限 』设定getfacl 指令…...
CSRF
CSRF CSRF,跨站域请求伪造,通常攻击者会伪造一个场景(例如一条链接),来诱使用户点击,用户一旦点击,黑客的攻击目的也就达到了,他可以盗用你的身份,以你的名义发送恶意请…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
