##例子:读取歌词文件显示
[JavaScript RegExp 对象](http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp)
歌词文件:传奇.lrc
```
[ti:传奇]
[ar:李健]
[al:李春天的春天]
[offset:0]
[00:01.50]传奇--李键
[00:04.63]词:左右 曲:李键
[00:08.81]
[00:35.45]是只因为在人群中多看了你一眼
[00:42.95]再也没能忘掉你容颜
[00:50.54]梦想着偶然能有一天再相见
[00:57.77]从此我开始孤单思念
[01:04.75]想你时你在天边
[01:11.98]想你时你在眼前
[01:19.72]想你时你在脑海
[01:27.02]想你时你在心田
[01:35.47]宁愿相信我们前世有约
[01:41.76]今生的爱情故事不会再改变
[01:50.37]宁愿用这一生等你发现
[01:56.80]我一直在你身旁
[01:59.48]从未走远
[02:38.17]只是因为在人群中多看了你一眼
[02:45.53]再也没能忘掉你容颜
[02:53.08]梦想着偶然能有一天再相见
[03:00.58]从此我开始孤单思念
[03:07.57]想你时你在天边
[03:14.92]想你时你在眼前
[03:22.55]想你时你在脑海
[03:29.91]想你时你在心田
[03:38.13]宁愿相信我们前世有约
[03:44.25]今生的爱情故事不会再改变
[03:53.00]宁愿用这一生等你发现
[03:59.44]我一直在你身旁
[04:01.94]从未走远
[04:08.30]宁愿相信我们前世有约
[04:14.41]今生的爱情故事不会再改变
[04:23.27]宁愿用这一生等你发现
[04:29.39]我一直在你身旁
[04:31.95]从未走远
[04:38.16]只是因为在人群中多看了你一眼
[04:47.01]
歌词来源:www.lrcxz.com
```
index.js
```js
// readline实现一行一行读取歌词
const fs = require('fs');
const path = require('path');
const iconv = require('iconv-lite');
const readline = require('readline');
var readStream = fs.createReadStream(path.join(__dirname, './传奇.lrc')).pipe(iconv.decodeStream('gbk'));
var rl = readline.createInterface({ input: readStream });
var regex = /\[(\d{2}):(\d{2})\.(\d+)\](.+)/;
rl.on('line', function(line) {
var time = regex.exec(line);
if (time) {
var m = parseInt(time[1]);
var s = parseInt(time[2]);
var ms = parseInt(time[3]);
var all = m * 60 * 1000 + s * 1000 + ms;
setTimeout(function() {
console.log(time[4]);
}, all);
} else {
console.log(line);
}
});
;
```
- 简介
- 配置安装
- window
- 基础知识
- Node 命令基本用法
- 进程和线程
- 调试
- 异步、回调
- 全局对象
- 非阻塞 I/O和事件驱动和非阻塞机制
- npm包概念
- 模块化
- 实现require和cache
- 核心模块操作
- fs文件系统操作
- 同步调用和异步调用
- 缓冲区处理(二进制数据)
- 文件读取
- 文件写入
- 例子:读取歌词文件显示
- 文件流
- 例子:文件复制
- 监视文件
- 其他文件操作
- 目录操作
- 例子:递归加载目录树
- path路径操作模块
- 网络操作
- URL 解析模块
- querystring查询字符串模块
- crypto加密解密模块
- Socket
- 例子:聊天室
- coffeescript
- Gulp-自动化构建工具
- Gulp实现前端构建
- Gulp后端构建
- 插件
- gulp-load-plugins 模块化管理插件
- gulp-minify-css 压缩css插件
- gulp-sass 将sass预处理为css
- gulp-less 将less预处理为css
- gulp-sourcemaps 插件
- gulp-concat 合并插件
- gulp-uglify 压缩JS插件
- gulp-util gulp常用工具库插件
- yargs插件
- gulp-nodemon 自动启动/重启插件
- coffee-script 插件
- gulp-coffee插件
- gulp-livereload 网页自动刷新
- Moment.js-处理时间插件
- express 前端框架
- Async-异步流程控制插件
- node-progress进度条插件
- JSHint-代码规范检查工具
- lodash -JavaScript 工具库
- 资料
- 框架所用包
- bodyParser