NODE笔记 0

一些简单的node学习笔记记录,是Vue等前端框架的基础   入门学习备忘录            

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结


前言

node.js 内置网络服务器,是前端框架学习的基础:

概念:node.js 是开源,跨平台的JavaScript运行环境,是一款可以运行JavaScript的软件。可以开发服务端,工具类应用(Webpack,Vite,Babel),桌面应用使用 electron框架开发(Vscode,postman)。node.js 中需要了解的进程与线程基础。


一、node.js下载与调试

 下载地址 打开官网如下,点击长期维护的版本,如若下载其他版本,可以点击download。

提供中文网址,国内用的是阿里的镜像,不是官方,但是下载速度比较快,历史版本需要找到下载后删除path后的URL,地址如下:CNPM Binaries Mirror (npmmirror.com) 。安装时直接点击msi文件安装即可,注意不必安装相关工具

安装完成后,打开cmd窗口,输入 node -v 回车后显示版本号,即为安装成功 。

在vscode中安装 CodeRunner,点击右上角三角形之后运行编写的js测试文件输出结果。

二、简单的使用

0.注意事项

node 不支持BOM DOM 操作,也不支持ajax,但是支持console和定时器API,node的顶级对象不是window,而是global,es2020支持 globalThis,

1. Buffer的简单使用

Buffer:大小固定(1字节),类似数组对象,处理二进制数据,性能较好,代码实例如下

console.log("ds:buffertest  ...") ;let buf = Buffer.alloc(10);
console.log("buf: "+buf);// 2.不安全,不会清空旧数据;但是速度快
let buf_2 = Buffer.allocUnsafe(10);
console.log("buf_2: "+buf_2); // 3.from let buf_3 = Buffer.from('Alice');let buf_4 = Buffer.from([105,108,121]);
console.log("buf_3: "+buf_3); 
console.log("buf_4: "+buf_4); 
//转字符串
console.log(buf_4.toString());
//解析数组
let name = buf_3[2] ;
console.log("name:"+name) ;//溢出,了解即可
let buf_5 = Buffer.from('ds');
console.log("buf_5: "+buf_5);
buf_5[0]= 361;
console.log("buf_5[0]--overflow:"+buf_5[0]);
console.log("buf_5[0]-- "+buf_5);
//

[Running] node "e:\nodePra\tempCodeRunnerFile.js"

ds:buffertest  ...

buf: ����������

buf_2: ����������

buf_3: Alice

buf_4: ily

ily

name:105

buf_5: ds

buf_5[0]--overflow:105

buf_5[0]-- is

2.node.js 中的文件系统 fs模块(API)

fs模块是一个重要功能,可以 对硬盘中的文件进行 读/写,移动,删除,重命名,也可以读取,删除,新建文件夹。

node中相对同步,提供了效率更高的异步操作。参考博客 

一般同步操作都有 Sync 标记,

0.相关操作函数 :
方法说明
writeFile异步写入
writeFileSync同步写入
appendFile / appendFileSync追加写入
createWriteStream流式写入
readFile异步读取
readFileSync同步读取
createReadStream流式读取

文件夹操作函数: 

项目Value
mkdir / mkdirSync创建文件夹
readdir / readdirSync读取文件夹
rmdir / rmdirSync删除文件夹
1.文件写入

代码如下(示例):

/**** 新建一个ds.txt,向其中写入 abcdefg*  再追加写入*///0.导入fs模块var fs = require('fs');//1.写入文件fs.writeFile('\ds.txt','abcdefg',function (err){if(err){console.log("fail to write ! "+err);return;}else{console.log("  sucess ! ");return ;}});//2.写入追加文件fs.appendFile('\ds.txt','\r\nappdendContent',function (err){  //\r\n 换行if(err){console.log("fail to appdendwrite ! "+err);return;}else{console.log("  sucess appdend ! ");return ;}});

 node也支持流式写入以减少打开关闭文件的次数 节约资源。

let ws = fs.createWriteStream('./ds.txt');ws.write('\r\n 111111');ws.write('\r\n 222222');ws.write('\r\n 3333333');ws.write('\r\n 44444455');ws.end ;console.log(" end ! ");
 2.文件读取
let fs = require('fs');fs.readFile('\ds.txt',(err, data)=>{if(err){console.log('err: '+err);}else{console.log("data: "+data);}});//同步读取
let dataSync = fs.readFileSync('\ds.txt');
console.log("dataSync: "+dataSync);

如果使用/ds.txt,node会直接读取E盘下的ds.txt,之后显示没有这个文件。

流式读取:

//流式读取 createReadStream
let rs = fs.createReadStream('\ds.txt') ;
rs.on('data',data=>{console.log(data);console.log(data.length)
});rs.on('end',()=>{console.log("end read ! ") ;
}) ;

文件 移动与重命名:(如果移动到其他磁盘会显示报错因为跨区重命 名文件出现的权限)

fs.rename('./ds.txt','./temp/new.txt',(err)=>{if(err){ console.log(err);}else{console.log(' 完成');}
});//文件删除
fs.unlinkSync('./temp/new.txt');   console.log(' 完成');

 3.补充

文件状态查看:

let fs = require('fs');
fs.stat('./ds.txt',(err,data)=>{if(err){console.log('stat err: '+err);}else{console.log("stat data: "+data.size+'---'+data.mtime+'---'+data.isDirectory);}
});
console.log("stat Syncdata: "+fs.statSync('./ds.txt').isFile);

路径问题:

./ds.txt  :程序所在目录下的文件 ,也可以写  \ds.txt ,如果写 .\ds.txt,程序会寻找当前文件路径下的名称为 .ds.txt 的文件。也可以直接写绝对路径,但是文件移动要注意报错, 这是跨区重命名文件出现的权限问题。

对于绝对路径,也可以使用 __dirname ,将相对路径转换为绝对路径避免bug:

let fs = require('fs');
console.log('__dirname: '+fs.readFileSync(__dirname + '/ds.txt')); // __dirname

 

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/607563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux--好玩的进度条

前言 先来看看我们想要达到的进度条效果,具体代码会在文章最后面放出。 一、创建文件及Makefile 我们需要实现声明的定义的分离,因此创建如下三个文件。 process.h prcess.c main.c。 touch process.h process.c main.c 同时还需要创建Makefi…

数据结构与算法-栈-移掉K位数字

移掉K位数字 给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k **位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。 示例 1 : 输入:num "1432219", k 3 输出:&quo…

kubernetes ingress 详解 (包含灰度发布/金丝雀部署)

写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 内容较长,页面右上角目录方便跳转 ingress 介绍 架构 原理 官网资料:Ingress 控制器 | Kubernetes 我…

智能商品系统如何协同其他系统共享数据和优化供应链决策?

智能商品系统可以通过与其他系统(如ERP系统)进行数据集成和协同工作,以实现数据共享和优化供应链决策。具体而言,可以采取以下方法: 数据接口和集成:智能商品系统和ERP系统可以通过数据接口进行连接和数据交…

身为程序员,你很有必要了解一下提效工具“JNPF”

如果你有软件开发的需求,推荐你使用以Vue为技术栈的低代码JNPF。 这款低代码和市面上的其他低代码区别很大的,相较于轻流、简道云、轻宜搭、微搭、帆软、活字格等等,这类面向业务人群使用的低代码(不需要研发人员操作的编写的&am…

英飞凌TC3xx之一起认识GTM(九)GTM相关知识简述及应用实例(CMU,CCM,TBU,MON)

英飞凌TC3xx之一起认识GTM(九)GTM相关知识简述及应用实例(CMU,CCM,TBU,MON) 1 时钟管理单元(CMU)2 集群配置模块(CCM)3 时基单元(TBU)4 监控单元(MON)5 总结由前文的各篇内容,开发者已经知道如何使用GTM的大部分功能,在这些功能中,都需要一个信息就是fGTM 的数据…

软件测试|MySQL SHOW DATABASES详解

简介 在MySQL中,SHOW DATABASES是一条SQL语句,用于显示当前MySQL服务器上所有可用的数据库。这条简单而常用的命令可以让你快速查看服务器上的数据库列表。本文将详细介绍SHOW DATABASES的使用方法以及相关注意事项。 语法 在 MySQL 中,可…

vue3 img图片怎么渲染

在 Vue3 中加载图片&#xff08;img&#xff09;src地址时&#xff0c;出现无法加载问题。网上很多都建议使用 require 加载相对路径&#xff0c;如下&#xff1a; <img :src"require(../assets/img/icon.jpg)"/>但是按照这种方式加载又会报错如下&#xff1a;…

商城小程序(7.加入购物车)

目录 一、配置vuex二、创建购物车的store模块三、在商品详情页中使用store模块四、实现购加入购物车功能五、动态统计购物车中商品的总数量六、持久化存储购物车的商品七、优化商品详情页的total侦听器八、动态为tabBar页面设置数据徽标九、将设置tabBar徽标的代码抽离为mixins…

tcp/ip协议2实现的插图,数据结构6 (24 - 章)

(142) 142 二四1 TCP传输控制协议 tcpstat统计量与tcp 函数调用链 (143) 143 二四2 TCP传输控制协议 宏定义与常量值–上 (144) 144 二四3 TCP传输控制协议 宏定义与常量值–下 (145) 145 二四4 TCP传输控制协议 结构tcphdr,tcpiphdr (146) 146 二四5 TCP传输控制协议 结构 tcp…

05、Kafka ------ 各个功能的作用解释(主题和分区 详解,用命令行和图形界面创建主题和查看主题)

目录 CMAK 各个功能的作用解释&#xff08;主题&#xff09;★ 主题★ 分区★ 创建主题&#xff1a;★ 列出和查看主题 CMAK 各个功能的作用解释&#xff08;主题&#xff09; ★ 主题 Kafka 主题虽然也叫 topic&#xff0c;但它和 Pub-Sub 消息模型中 topic 主题及 AMQP 的 t…

供应链安全-镜像 Trivy kubesec

开头语 写在前面&#xff1a;如有问题&#xff0c;以你为准&#xff0c; 目前24年应届生&#xff0c;各位大佬轻喷&#xff0c;部分资料与图片来自网络 内容较长&#xff0c;页面右上角目录方便跳转 Dockerfile 文件优化 减少镜像层&#xff1a;一次RUN指令形成新的一层&a…

人工智能图像生成的道德利弊

目录 一、我们应该关注人工智能图像吗&#xff1f;二、利用人工智能增强创造力的积极作用三、版权和剽窃问题四、对就业和劳动力动态的影响五、无意识的偏见和影响六、负责任地前行 人工智能&#xff08;AI&#xff09;发展迅速&#xff0c;尤其是近年来。据估计&#xff0c;超…

Flutter 监听前台和后台切换的状态

一 前后台的切换状态监听 混入 WidgetsBindingObserver 这个类&#xff0c;这里提供提供了程序状态的一些监听 二 添加监听和销毁监听 overridevoid initState() {super.initState();//2.页面初始化的时候&#xff0c;添加一个状态的监听者WidgetsBinding.instance.addObserver…

服务器宕机怎么办?怎么预防宕机?

相信不少用户会听到或者在文章中提到电脑宕机或者服务器宕机&#xff0c;不少用户对宕机的意思不太理解。那么服务器宕机是什么意思&#xff1f; 宕机属于计算机的术语&#xff0c;指电脑或者服务器不能正常工作。口语中我们简单的把停掉机器叫做down机&#xff0c;转换为汉字是…

【conda】conda 版本控制和环境迁移/安装conda加速工具mamba /conda常用指令/Anaconda配置

【conda】安装conda加速工具mamba /conda常用指令/Anaconda配置 0. conda 版本控制和环境迁移1. 安装conda加速工具mamba2. conda install version3. [Anaconda 镜像](https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)使用帮助4. error deal 0. conda 版本控制和环境迁移…

抖去推账号矩阵+无人直播+文案引流系统开发搭建--开源

核心技术 1. AI自动直播&#xff1a; 智能系统通过丰富可定制的文案库&#xff0c; 拥有有料有趣的灵魂。不仅能自动语音讲解内容&#xff0c;还可以在直播中和用户灵活互动。直播中可将团购商品同话术自动上下架。 2. AI剪辑 可一键智能批量成片&#xff0c;也可跟着模板剪…

「PyMuPDF 专栏 」PyMuPDF创建PDF、拆分PDF

文章目录 一、本章前言二、使用PyMuPDF创建PDF文档1、实例代码2、过程详解①. 安装PyMuPDF②. 导入PyMuPDF模块③. 创建一个新的PDF文档④. 添加页面和内容⑤. 保存文档 三、使用PyMuPDF拆分PDF文档1、实例代码2、过程解析①. 导入模块②. 定义函数③. 打开源PDF文件④. 遍历页…

大数据Doris(五十二):SQL函数之数学函数

文章目录 SQL函数之数学函数 一、abs(double a)

基于Java SSM框架实现班级同学录管理系统项目【项目源码】

基于java的SSM框架实现高校校园点餐系统演示 SSM框架 当今流行的“SSM组合框架”是Spring SpringMVC MyBatis的缩写&#xff0c;受到很多的追捧&#xff0c;“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。web项目的框架&#xff0c;通常更简单的数据源。Spring…