Simple is Happiness
Less is more
Node.JS
如何用Bootstrap免费网站模板和OnceAir云盘系统搭建网站服务器
by ourjs keys JS学习 Node.JS OnceOA OnceAI旺司NAS 1517537595233
OnceAir们顽石云盘是一款集文档管理、编辑、同步、搜索、博客、权限、考勤于一体的微型服务器。功耗仅3.5瓦。因采用内存数据库和异步编程技术,在低功耗ARM平台上也能有很好的性能。

这篇文章主要介绍如何在OnceAir私有云盘上用免费模板搭建个人网站。
Node.JS高效压缩解压zip文件:将child_process执行结果输入stdout流
by ourjs keys JS学习 Node.JS 1517026678422
在 Node.js 中有很多与zip压缩解压相关的库,比如 node-unzip, adm-zip, archiver等。不过在低端ARM芯片上压缩大目录时,会非常慢。

其实 Node.JS 是不太适合计算密集型的压缩与解压指令的,在较便宜的嵌入式设备上的性能并不是很好。

并且archiver/node-unzip 这些包也非常大,要占用几M的空。其实使用 7zip(windows)/ zip(linux) 等这些用C/C++写的软件,简单封装一下,性能就能很好地提升。
Node.JS段点续传:Nginx配置文件分段下载功能实现
by ourjs keys JS学习 Node.JS 1516698299844
Html 提供了一个新的 Range 标签来实现文件的分段下载。在Node.JS中可以配置这个标签来实现文件的分段下载:

请求 Request Header: 下载 3744 以后的文件内容
range: bytes=3744-

返回 Response Header: 文件总长 15522643 个字节
accept-ranges': 'bytes'
content-range': 'bytes */15522643'
Node.JS如何查看本地MAC/IP地址、计算cpu使用率和内存容量
by ourjs keys JS学习 Node.JS 1516256822967
Node.JS的OS提供了一系统CPU/内存/网络相关的接口,通过它我们可以查看本地的网络配置。使用起来非常简单
cpus返回CPU情况,返回的是一个数组,有多少个核心就有多少个元素:

var cpus = os.cpus()
console.log(cpus)
node.js用fs.rename强制重命名或移动文件夹
by ourjs keys JS开源 Node.JS 1514292629914
在日常对电脑中的一些的文件或者文件夹操作的时候,windows系统可能会弹出相应的对话框,提示我们文件或者文件夹无法重命名。这是由于文件或者文件夹中的文件被系统某些正在运行的进程占用的。我们可以找到占用文件的进程将其结束掉,然后重命名文件或者文件夹。但是这个过程相对麻烦,难度用编程实现。

并且在node.js中进行大量重命名操作时,也会偶尔出现权限的问题,解决方案很简单,使用同步命名,添加一个try/ catch 即可。
Node.JS 8.x和9.x新特性:N-API,NPM5,ERROR CODE
by ourjs keys JS学习 Node.JS 1511660254656
Node.JS 8主要升级了安全性和稳定性,并将维护1年半的时间。

采用 Google v8 6.1 JavaScript 引擎
The NPM 5.0.0
在典型Web应用中,性能比6.x提升20%的性能
Performance Timing API:检测应用性能
Node.JS读取中文TXT编码文件显示乱码问题解决方案
by ourjs keys JS学习 Node.JS 1511612303462
Windows下默认的编码格式是ASNI,其实这并不是真正的编码格式,但Node.JS默认的编码、解码则是目前通用的UTF-8。因此在读取Windows默认的TXT文件时会显示乱。
可以用iconv-lite来用gbk解码:
var fs    = require('fs')
var iconv = require('iconv-lite')

fs.readFile('readme.txt', function(err, data) {
  console.log(iconv.decode(data, 'gbk'))
})
NodeJS动态传参特性:不定个数参数的省略,默认值与解构
by ourjs keys JS学习 Node.JS 1509950779523
在Javascript中普遍模式是将一个对象作为配置可选项,以前,这些选项得手工从对象中分解出来然后分配给相应变量。

function doTask (who, options) {
	options = options || ''

	var name = options.name
	var time = options.time
}
现在只需要一行即可:

function doTask (who, options = {}) {
	var { name, time } = options
}
Node.JS中如何快速扫描端口并发现局域网内的Web服务器地址(80)
by ourjs keys JS学习 Node.JS 1505207561228
在 Node.JS 中进行端口扫描还是比较方便的,一般会有广播和轮询两种方式。即使用广播和扫描,使用广播发出的消息有时会被路由器屏蔽,所以并不可靠。
使用node.js中的net模块,可以直接尝试向目录主机的某个端口进行连接,如果能建立连接,则说明该地址存在服务器。

var socket = new Socket()
socket.connect(port, host)
socket.on('connect', function() {
  //找到port 和 host 地址
})
Node.JS循环递归复制文件夹目录及其子文件夹下的所有文件
by ourjs keys JS学习 Node.JS 1504000543256
在Node.js中,要实现目录文件夹的循环递归复制也非常简单,使用fs模块即可,仅需几行,而且性能也不错,我们先来实现文件的复制:

var copyFile = function(srcPath, tarPath, cb) {
  var rs = fs.createReadStream(srcPath)
  rs.on('error', function(err) {
    if (err) {
      console.log('read error', srcPath)
    }
    cb && cb(err)
  })

  var ws = fs.createWriteStream(tarPath)
  ws.on('error', function(err) {
    if (err) {
      console.log('write error', tarPath)
    }
    cb && cb(err)
  })
  ws.on('close', function(ex) {
    cb && cb(ex)
  })

  rs.pipe(ws)
}


 近期热门 - 点击最多
  1. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  2. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务
  3. 比较测试:用百度文心一言和阿里通义千问写删除文件目录并且是async/await代码
  4. node.js使用TensorFlow入门教程二:什么是张量神经网络运算与矩阵的关系及基本入门代码
  5. node.js使用TensorFlow入门教程一:简介及工作原理环境安装及初始化
  6. node.js用saml2连接Identity Provider服务器完成Azure AD/Active Directory域帐号身份认证
  7. node.js中用typescript连接mongodb数据并设置断开后自动重启连接
  8. git 将本地仓库关连并push远程
  9. 在Windows10上创建node.js开机启动脚本服务Task Scheduler failed to start: Error Value: 2147943711.
  10. Windows和MacOS获取当前Active Directory域的用户名和AD服务器域名

  全端社区 - 最新回复
  1. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  2. 如何用JavaScript获取某个元素copy selector的CSS选择器
  3. 青否数字人5.0上线,支持真人接管实时驱动!
  4. 遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!
  5. 比fs.watch更加优秀的Chokidar文件变化检测库
  6. HTML页面嵌入部分使用Vue3,在jQuery应用中用类似Vue2使用Vue3
  7. 克隆自己的数字人形象需要几步?
  8. Node.JS中Fetch/Axios连接Strapi服务器端localhost,Next.JS后端SSR请求返回connect ECONNREFUSED,但客户端CSR正常
  9. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  10. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA