nodeJS
文章平均质量分 60
nodeJS
龙易安
这个作者很懒,什么都没留下…
展开
-
nvm的一些命令
1、nvm的作用nvm是一个node版本管理工具。当需要在不同项目中使用不同的node版本时,可以使用nvm管理node版本。2、下载安装3、命令nvm ls 查看所有已经安装的版本nvm list available 查看网络上可以安装的版本如果不知道有现在还有哪些可以供安装的node版本,可以先运行nvm list available命令进行查看。其中LTS表示长期稳定版本。nvm install 14.16.1 下载版本号为14.16.1的nodenvm uninstall 1原创 2022-04-06 12:36:07 · 15971 阅读 · 1 评论 -
npm安装依赖的时候全局安装在哪里
使用npm install命令的时候,如果没有加上-g,那么这个依赖就安装在当前工程的node_modules文件夹中。当加上-g这个参数时,就是全局安装了。那么此时,依赖是安装在哪里?通过命令 npm config get prefix查看全局的安装路径通过命令npm config set prefix 路径,设置依赖包全局安装路径...原创 2021-10-22 10:36:17 · 873 阅读 · 0 评论 -
nodeJS调用dll动态库
调用dll动态库原创 2021-08-12 10:25:56 · 8564 阅读 · 4 评论 -
Uint8Array转普通数组
1、定义根据文档的解释:Uint8Array 数组类型表示一个8位无符号整型数组,创建时内容被初始化为0。创建完后,可以以对象的方式或使用数组下标索引的方式引用数组中的元素2、在JS中遇到Uint8Array 的场景js调用动态库,动态库由c语言编写,并且里面的方法使用了指针、int、double等js所没有的概念。那么在使用动态库时,需要使用ref、ref-array等库来进行转换。例如使用一个double类型数组的指针var doubleArray = refArray(ref.types.原创 2021-08-12 09:47:05 · 3598 阅读 · 0 评论 -
node的util(工具集)
util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心 JavaScript 的功能 过于精简的不足。使用前先引入:const util = require('util');1、util.inspectinspect文档util.inspect(object[, options])将任意对象转换 为字符串。...原创 2021-05-14 12:02:08 · 1135 阅读 · 0 评论 -
node的vm(虚拟机),改变运行的环境
vm文档node文档中对vm的解释是:vm 模块提供了一系列 API 用于在 V8 虚拟机环境中编译和运行代码。JavaScript 代码可以被编译并立即运行,也可以编译、保存然后再运行。同时node文档中提醒:vm模块并不是实现代码安全性的一套机制。 绝不要试图用其运行未经信任的代码.vm模块允许改变一些JavaScript脚本代码的上下文运行环境。但是这些代码仍然是运行在nodejs应用程序的当前进程中。从这个角度来说,vm的功能有些类似于eval函数,但是vm模块提供了一些eval函数所不原创 2021-05-08 12:32:44 · 1264 阅读 · 1 评论 -
node的events(事件触发器)
Node 中的很多对象都会触发事件,例如:一个 TCP 服务器在收发每个数据流时都触发事件;子进程在退出时会触发事件。 所有能够触发事件的对象都是 events的实例。1、引入使用前先引入const EventEmitter = require('events');创建一个实例const emitter= new EventEmitter();添加事件onon方法有两个参数第一个是方法名第二个是回调函数emitter.on('open', (val) => {原创 2021-05-01 15:04:22 · 347 阅读 · 0 评论 -
node的process对象(进程对象)
在操作系统中,每个应用程序都是一个进程类的实例对象。在node.js中,process对象(进程对象)代表node.js应用程序。process 对象是一个全局变量,它提供当前 Node.js 进程的有关信息,以及控制当前 Node.js 进程。 因为是全局变量,所以无需使用 require()process完整属性见文档process文档1、属性process.argv, 一个数组,这个数组包含了启动Node.js进程时的命令行参数。1、第一个元素为process.execPath(no原创 2021-04-27 21:53:21 · 2053 阅读 · 1 评论 -
在项目中将打印日志保存到本地
在项目中将打印日志保存到本地原创 2021-04-23 08:41:07 · 1284 阅读 · 0 评论 -
在node中调用python脚本
使用场景:在某测试项目需要用到eload仪器为待测产品添加载荷,然后用dmm仪器测量电压,eload仪器与dmm仪器与电脑的连接都是usb接口,那么软件如何控制这两个usb连接的仪器呢。通过搜索发现npm上有一个usb的依赖包,它可以查询到与电脑相连接的usb设备,但是我无法向usb设备发送命令。所以我只能通过python脚本向usb设备发命令,然后在node中再调用python脚本。1、准备运行环境,获取python路径python的运行需要有python的环境,软件安装包可能安装在没有pyth原创 2021-04-21 17:49:40 · 2103 阅读 · 0 评论 -
MPanelCtl项目中创建文件夹
在下载文件时,我们最好将这些文件存放在一个指定的文件夹中。如果在项目中的根目录下创建一个文件夹存放,在打包时需要将这个文件夹一起打包出去。一些电脑存在权限问题,无法写入文件。存放在c盘用户目录下,一般都可以写入。那么在项目启动时,我们就需要用户目录下合适的地方创建这么一个文件夹。每次下载时都要检查一下有没有这个文件夹(可能被手动删除了),没有就创建。文件夹操作相关代码全部放在一个单独的文件中;1、准备工作首先从项目的package.json文件中导入项目的名字import {name} f原创 2021-04-21 08:32:06 · 212 阅读 · 0 评论 -
点击按钮后打开本地文件夹
实现点击超链接打开本地文件夹原创 2021-04-21 08:30:26 · 2302 阅读 · 0 评论 -
通过ssh协议下载和上传文件
通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。所谓“中间人”的攻击方式, 就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。流程:我们需要用到两个包ssh2-sftp-client和ssh2...原创 2021-04-20 09:55:23 · 1894 阅读 · 0 评论 -
身份验证
身份验证解决了http请求无状态的问题。身份验证有两种解决方案Session+CookieJWT一、Session+Cookie1、登录时,后端发布一个加密字符串(包含用户相关信息)给前端,自动放在了cookie中;2、前端在调用其他接口时,将这个加密字符串作为一个参数传递给服务器(cookie自动传递);3、服务器拿到这个字符串解密,根据权限进行验证。例如:在没有登录的情况下,是不能获取到数据库中的一些数据的。1、使用session需要先安装两个插件npm install cook原创 2021-04-18 12:57:53 · 251 阅读 · 0 评论 -
实现socket长连接的三种方式
长连接(socket)和短连接(ajax)。长连接不存在跨域问题。实现socket的三种方式:net,node的内置模块socket.io兼容性好,但是要先引入websocketwebsocket是h5新增,低版本浏览器不兼容。长连接的使用场景:实时刷新如果前端使用轮询,那么前端和服务端都要耗费资源,如果使用socket长连接,那么就只需服务端发送就可以了。服务器端发起数据ajax是前端主动往后端发送消息,后端无法主动往前端发送消息(服务器主动推送消息)。socket的步骤原创 2021-04-17 22:25:17 · 7151 阅读 · 0 评论 -
node的fs模块
let fs=require('fs')1、读取文件夹异步读取,data是指定文件夹中文件(或文件夹)的名称的数组res是undefined。错误回调优先,无错误时err为nulllet res=fs.readdir('./',(err,data)=>{ console.log(data)})还有同步读取res是读取结果。let res=fs.readdirSync('./')同步读取的方式,没有回调函数。2、创建文件夹异步fs.mkdir('./test',(er原创 2021-04-17 20:29:30 · 151 阅读 · 0 评论