NodeJS在Windows上使用OLE/COM/ActiveXObject对象连接ADODB数据库,操作Application.Excel、运行VBA宏并另存为网页 node-activex项目就是这样一个能在node.js中调用COM/ActiveXObject对象的组件库。可直接通过COM连接数据库,操作Word/Excel/PPT等Excel组件。
node.js中async/await不用try/catch,使用error first或go语言方法处理异常 使用try/catch的好处是可以将很多可能的错误代码包在一个块中,然后只使用一个异常捕获。并且第一条执行语句并不再需要接收处理error。但现实生活中,基本上需要对每一处异常需要单独处理,这样使用try/catch的代码就会显得非常臃肿。
go语言使用类似javascript error first的原则,将异常变成了一个参数:
data, err := db.Query("SELECT ...")
if err != nil { return err }
JavaScript和node.js内存泄露的原因和避免方法及Chrome调试工具使用教程 当我们使用“老式”方法编写网页时,通常不太需要关注JavaScript内存管理。
但 SPA(单页应用程序)的兴起促使我们需要关注与内存相关的编码实践。
在本文中,我们将探讨导致JavaScript内存泄漏的编程模式,并说明如何改善内存管理。
node.js性能压力测试入门教程:wrk和loadtest安装使用 loadtest 是支持通过 npm 安装的一个性能测试工具, 支持 windows和linux,在 node.js 的项目中使用非常方便, 全局安装:
npm install -g loadtest
使用: 连续测试下面的服务20秒,保持100个并发
loadtest http://localhost:8054/test -t 20 -c 100
Html5网页中用JavaScript调用本地手机摄像头扫描识别微信二维码、条形码:postMessage跨域https传递扫码结果消息 qr-scanner是一个支持HTML5网页扫描条形码、二维码的开源库。
轻量级:〜48.7 kB(〜12.4 kB压缩后)。
性能优内存占用少。
在WebWorker中运行,不阻塞主进程
在彩色QR码上获得性能优
根据我们的基准测试,该项目较jsqrcode提升约2-3倍。
错误识别率低。
支持扫描网络摄像头的以及扫描图片文件。
node.js通过Error.prepareStackTrace获取上层调用函数的文件名地址和行数位置 node.js中可以通过 __dirname 获取当前文件的目录。那么如何在被调用函数中获取调用者的文件地址和函数名以及行数位置?可使用Error.prepareStackTrace来获取StackTrace数组对象,获取调用者文件信息。
var getCallerPath = function() {
var orig = Error.prepareStackTrace;
Error.prepareStackTrace = function(_, stack) { return stack; };
var err = new Error;
var stack = err.stack;
Error.prepareStackTrace = orig;
// stack[0]为当前函数, stack[1]为调用者,stack[2]为上层调用者
return stack[2].getFileName()
}
webpack前端项目调试环境安装入门:webpack.config.js禁用UglifyJs只合并JavaScript不压缩混淆代码 webpack是目前比较流行的前端build工具,本质上是一个模块打包器。合并压缩JavaScript,css,图片等。
目前有很多开源项目使用webpack进行打包。
node.js创建aria2代理服务器:使用net.socket转发rpc或http request请求,替换websocket Aria2 BT下载可通过网页端访问,网页站通过RPC与Aria程序通讯。
Aria2通过websocket来调用aria2的rpc服务,实现状态查询、创建下载任务,这样可以解决ajax的跨域问题。不过这样NAS服务器要新开一个端口,而且旧浏览器并不支持。此时可使用代理服务器。
request停止维护:用node.js实现http网页爬虫抓取,模拟ajax\post请求,大文件上传下载 最近 node.js 一个比较出名的 http request 模块停止维护了。其实这个模块已经变得非常臃肿,模块依赖过多,体积过大,接口不统一。
其实现在node.js的http模块已经非常完善,几行代码就能自己写一个。模拟post指定 data 即可:
request({ url: 'http://ourjs.com/home', data: { abc: 1 } }, function(err, response, data) {
console.log(data)
})