node.js含有%百分号时,发送get请求时浏览器地址自动编码的问题 目前浏览器会对地址,进行编码,比如这个文件名:
sales\报表.png
在发到后台时,会自动编码成:
/file/view/sales/%E6%8A%A5%E8%A1%A8.png
用OnceOA旺司在树莓派等arm设备免费搭建私有云版有道云笔记文档管理系统,在线编辑Markdown,同步备份手机照片 OnceOA旺司是一套可免费使用的私有云笔记系统,可编辑Markdown,搭建svn/git服务器,共享/备份手机文件,将树莓派改造成个人NAS网盘。OnceOA支持纯绿色软件,Windows下解压即用。
Windows 版有很多功能如 svn/git/smb 等并不支持 Windows 平台。并且 Windows 平台无法发挥 OnceDB 数据库的最优性能。正式生产环境建议采用 Linux(Debian/Ubuntu) 版本。
Node.JS用纯JavaScript生成图片或滑块式验证码 有一些Node.JS图片生成类库,比如node-captcha等的类库,需要c/c++程序生成图片。跨平台部署不是很方便。这里介绍几个用纯JS实现的图片验证码生成模块。用纯JavaScript实现的验证码生成模块。安装简单,依赖少:
npm install captchapng
树莓派ARM开发板使用TF卡启动和系统安装到EMMC启动,硬盘存储读写速度对比测试 树莓派从百网卡升级到了千兆,但却爆出了一些设计缺陷,实测中TF卡的读写速度仅为10/30Mb/s,远远发挥不出CPU和千兆网卡的性能。
那么如果树莓派采用emmc存储,能否发挥出最佳性能呢?我们可以选用有EMMC存储的ARM开发板测试一下。
首先,下载Armbian操作系统,然后用Win32DiskImager写入TF卡,并通电启动。
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数 使用时将此脚本文件命名为lines.js,然后复制到需要统计的文件夹下,然后执行
node lines.js
然后会统计每一个代码文件的长度,和代码总行数:
$ node lines.js
lines.js 56
package.json 6
...
LINES: 40464
在Windows平台上用命令行创建tar.gz压缩包和解压 如果在Windows上安装了Linux子系统,可以用Linux命令。
创建.tar.gz
tar -czvf dwt.tar.gz dwt/
解压.tar.gz
tar -xzvf dwt.tar.gz -C tmp/
node.js函数如何获取调用者的文件目录路径: 用callsite获取错误堆栈的每一层文件名及路径 在node.js中有时侯会想从被调用函数中获取调用者的文件位置和路径。可以用以下方法。使用这个模块可以获取调用堆栈的文件目录
var path = require('path'),
callsite = require('callsite');
module.exports = {
someFn: function () {
var stack = callsite(),
requester = stack[1].getFileName();
console.log(path.dirname(requester));
}
};
让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度 pre显示文本内容时是不会自动换行的,此时可以添加一些CSS来解决:
HTML中pre和textarea可以显示预格式化的文本。即保留空格和换行符。而不必添加<br>和 等HTML元素来添加换行和打印空格。
pre {
word-wrap: break-word;
white-space: pre-wrap;
padding: 9.5px;
background-color: #f5f5f5;
border: 1px solid #ccc;
}
Node.JS的竞争对手?QuickJS入门教程,使用os模块读写文件,并将JavaScript编绎成可执行文件 QuickJS 是一个完全由C语言编写的极小型JavaScript引擎,支持跨平台运行,并且有一些Java的特质,可将JS直接编绎成二进制文件。内置的系统模块还可以直接读写文件,动态加载脚本。目前还不支持net模块,不过已经有人在pull request中提交了merge请求。不久将可以直接使用系统Socket或发送http请求,构建web服务器。
由于非常精简,而且拥有JavaScript的全部功能,可以预见,QuickJS将是Node.JS在嵌入设备,尤其是低端设备上较强的竞争对手。
在嵌入式设备树莓派上编译QuickJS教程:一个C语言编写的极简JavaScript引擎 QuickJS 是一个完全由C语言编写的极小型JavaScript引擎,作者是大名鼎鼎的FFmpeg和QEMU的创建者Fabrice Bellard以及C专家Charlie Gordon。QuickJS采用开源MIT协议,不限制商业用途。它是一个“小而完整的JavaScript引擎”,支持最新的ES2019语言规范。
因为其复杂度要远远低于用C++编写的Google的V8和Mozilla的SpiderMonkey,因此非常适合在嵌入式设备上使用。
因为完全由C语言编写,可以很方便地集成到一些著名的C语言程序比如,替换掉Redis和Nginx中的Lua脚本。
由于可以单独将JS编绎成可执行文件,应用场景更加广泛。