用纯Node.JS弹出Windows系统消息提示框(MessageBox) Node.JS是一个控制台程序,如果想要从Node.JS弹出Windows系统提示框的话,有很多方法可以实现。比如
:
var cp = require('child_process')
var initApp = function() {
var vbsPath = path.join(__dirname, 'vb.message.vbs')
cp.exec('cscript.exe ' + vbsPath + ' "提示" "此文件没有跟 OnceDoc 绑定"', function(err, stdout, stderr) {
if (err) {
fs.writeFileSync('log.log', err.toString())
}
})
}
initApp()
Linux下用node.js提取Word(doc/docx)/PDF文本内容 想要做全文搜索引擎,则需要将word/pdf等文档内容提取出来。对于pdf有xpdf等一些开源方案。但Word文档的情况则会复杂一些。
我们这里使用了 antiword 开源软件,来提取word2003以前版本的内容,安装同样非常简单:
apt-get install antiword
用JavaScript获取当月第一天和最后一天 获取当月的第一天和当月的最后一天其实还挺麻烦的,因为每个月天数可能不一样。不过借助 Date 对象则很容易实现:
当月第一天和最后一天
var date = new Date(), y = date.getFullYear(), m = date.getMonth();
var firstDay = new Date(y, m, 1);
var lastDay = new Date(y, m + 1, 0);
Node.JSv8的5个新特性:支持string padding与async/await和object参数省略 async/await 没有第三方依赖,写法更直观,再也不用写回调嵌套了:
const fetch = require('node-fetch');
async function getUser(username) {
const res = await fetch(`https://api.github.com/users/${username}`);
const json = await res.json();
return json;
}
async function start() {
const user = await getUser('github');
console.log(user); // prints out info about ‘github’ user on GitHub
}
start();
JavaScrip字符串模板表达式中的反引号怎么打? 模板字符串是ES6引入的可以在字符串中嵌入变量的表达式。与常用的单引号、双引导不同,字符串模板使用反引号表达式。
反引号一般在键盘的左上方,数据健前的第一个键,即按下Shift会显示 "~" 的那个鍵,不按Shift即为反引号。
Node.JS用Socket实现FTP Server服务器和Client客户端 FTP协议其实就是主机和服务通过Socket进行固定格式的通信过程,当某客户端连接到FTP 服务器后,客户端发送指令:
<指令> [参数] <命令结束符:"\r\n">
服务会按以下格式返回:
<状态码> [参数或说明] <命令结束符:"\r\n">
例如以下是FileZilla FTP客户端与服务器通信的过程:
响应: 220-FileZilla Server version 0.9.43 beta
响应: 220-written by Tim Kosse (tim.kosse@filezilla-project.org)
响应: 220 Please visit http://sourceforge.net/projects/filezilla/
命令: AUTH TLS
响应: 502 SSL/TLS authentication not allowed
命令: AUTH SSL
响应: 502 SSL/TLS authentication not allowed
命令: USER newghost
响应: 331 Password required for newghost
命令: PASS **************
响应: 230 Logged on
node.js中fs.stat里的atime,mtime,ctime,birthtime在debian下的更新规则与区别 在node.js中可以通过fs.stats命令,可以查看文件的属性,状态,修改时间等:
atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的。网上很多资料都声称cat、more等读取文件的命令会改变atime,这其实与系统设置有关的,一般默认不会修改。
ctime即change time文件状态改变时间,指文件的i结点被修改的时间
mtime即modify time,指文件内容被修改的时间。
birthtime即文件创建时间,很多文件系统不支持。
decodeURIComponent有个BUG,当浏览器请求地址含%+数字时,会解析错误 比如要查询字符串: 限时特惠!仅需0.5%25!
但搜索框中会出现: "限时特惠!仅需0.5%!"
25消失了!
利用Windows注册表将你的Node.JS程序添加到右健菜单直接运行 在Windows 系统中,只要对着桌面或是文件(夹)单击右键,就会弹出一个快捷菜单,里面有对该文件(夹)的一些常用操作命令,通过右键菜单,可以方便用户对文件的某些操作。比如你写了一些Node.JS脚本可以通过这种方式右健直接运行,非常方便。有时侯我们无法通过写注册表文件来运行某个程序,比如说用户没有安装将Node.JS安装到默认目录,这时我们可以通过Node.JS来用编程的方式动态更改注册表。
JavaScript中splice与slice的区别、数组的复制以及在指定位置添加删除元素 splice与slice是数组中的两个常用方法,但是很多初学者很容易将二者混淆。
slice的操作不影响原数组。会返回所选择的元素。
splice会影响原数组,而且可以使用splice往数组中指定位置添加或删除元素。返回被删除的元素。