当前目录: nodejs笔记
node.js执行linux shell代码

2017年6月28日  nodejs笔记   

ls -a //列出所有文件及文件夹,并显示所有隐藏文件 异步:(常用) spawn,exec,execFile,fork   1,spawn var child = require('child_process'); var du = child.spawn('ls', ['-a']); du.stdout.on('data', function (data) { console.log('输出内容是 ' + data); //输出的内容和直接执行ls -a的效果一样 }); du.stderr.on('data', function (data) { console.log('stderr: ' + data); }); du.on('exit', function (code) { console.log('child process exited with code ' + code); });   2,exec //推荐,可直接一句话执行,并且有回调 var childProcess = require('child_process'); childProcess.exec('ls -a', function (error, stdout, stderr) { if (error) { co...

babel笔记以及.babelrc相关配置

2017年3月20日  mac,nodejs笔记   

Babel是一个转化器,将es6代码转化成es5。也就是说你可以放心大胆的写es6的语法不必考虑兼容性, Babel可以将你的代码转化成兼容性好的es5代码。 // 转码前 input.map(item => item + 1); // 转码后 input.map(function (item) { return item + 1; }); 上面的原始代码用了箭头函数,这个特性还没有得到广泛支持,Babel将其转为普通函数,就能在现有的JavaScript环境执行了。   配置.babelrc 要使用Babel转码前要对.babelrc脚本进行配置: { "presets": [ "stage-3", "es2015" ], "plugins": [ [ "transform-runtime", { "polyfill": false, "regenerator": true } ] ] } 以下方法选择其中一...

让express支持async/await、promise

2017年3月20日  nodejs笔记   

node.js低版本不支持async/await、promise语句在express框架开发中需要支持就必须安装各种兼容模块才能跑起来。 编辑package.json: "dependencies": { "babel-core": "^6.18.2", "babel-preset-es2015": "^6.18.0", "babel-preset-stage-3": "^6.17.0", "babel-runtime": "^6.18.0", "bluebird": "^3.4.6", "express": "^4.14.0" }, "devDependencies": { "babel-plugin-transform-runtime": "^6.15.0" } 添加完成后记得安装npm install   创建脚本.babelrc { "presets": [ "stage-3", "es2015" ], "plugins": [ [ "transform-runtime", { "polyfill": false, "regenerator": true } ] ] } &n...

node.js序列化——node-serialize

2017年3月19日  koa,nodejs笔记   

序列化其实就是把对象转化成字符串 为什么要序列化?为了数据的传输,有些数据类型不能直接传输,要转化成字符串传输才行。 1,序列化:对象转化为字符串 例如:  { id: '01', name: 'Tom' } //这个是对象类型 转化为 "{ id: '01', name: 'Tom' }" //这个是字符串   2,反序列化:字符串转对象 "{ id: '01', name: 'Tom' }"; //字符串类型 转化为 { id: '01', name: 'Tom' } //对象类型   安装: npm install node-serialize   引用: var serialize = require('node-serialize');   使用方法 序列化:serialize() var obj = { name: 'Bob', say: function() { return 'hi ' + this.name; } }; var objS = serialize.serialize(obj); //序列化 typeof objS === 'stri...

koa2脚手架koa-generator文件以及目录分析

2017年2月15日  koa,nodejs笔记   

官方提供的koa2脚手架项目包。 npm install koa-generator -g koa2 -e koa2 启动命令是: nodemon ./bin/run nodemon命令是安装了runkoa模块而来的,如果不借助runkoa模块启动koa2,会报错因为koa2中使用了async/await,低版本node.js环境不支持   bin目录 run //脚本文件,用于启动koa2,目的是为了兼容能识别es7语法 www // http模块和设置端口号的;监听http运行运行。   public目录 存放静态资源的地方 例如在images目录中存放了一张1.jpg的图片 直接访问http://localhost/images/1.jpg就能访问的到   routes目录 判断业务逻辑的地方   views目录 模板页,类似于html页面,传统的开放都是直接把业务逻辑直接写在html里面,在node.js开发中,是分离的   app.js 调用公共部分。公共插...