兄弟会第六天上课笔记

来源:互联网 发布:stm32串口接收数据 编辑:程序博客网 时间:2024/04/18 16:38

兄弟会第六天上课笔记–20160912

上课主要内容:
1.nodejs的模块
2.nodejs文件操作
3.nodejs的io键盘交互
4.nodejs的url判断渲染模版

一.模块的声明与调用—文件之间的相互调用

1.require()导入一个模块

2.exports导出模块

3.代码

//a.js—nodejs模块中的exports对象,可以用他创建你的模块
//exports.li给exports添加属性li
exports.li = function(){
console.log(‘my name is 666’);
}

//b.js–也可以这样引用
var mo = require(‘./a.js’);
mo.li();

4.代码

//a.js
function li(){
console.log(‘hello nodejs’);
}
module.exports = li;

//b.js
var mo = require(‘./a.js’);
console.log (new mo());

//e.js
var haha =require(‘./a.js’);
console.log(haha);

5.eg:计算圆的面积

使用exports

//circle.js
exports.area = function(r){
return r * r * Math.PI;
}

//app.js
var circle = require(‘./circle’);
console.log(circle.area(4));

使用module.exports

//area.js
module.exports = function(r){
return r * r * Math.PI;
}

//app.js
var area = require(‘./area’);
console.log(area(4));

二者输出结果是一样的

一句话做个总结:当我们想让模块导出的是一个对象时, exports 和 module.exports 均可使用(但 exports 也不能重新覆盖为一个新的对象),而当我们想导出非对象接口时,就必须也只能覆盖 module.exports 。

二.node文件操作

1.文件操作使用文件系统模块fs(官网:nodejs.org/dist/latest-v4.x/docs/api/fs.html)

2.操作文件有两种方法,同步操作和异步操作

同步读取: fs.readFileSync()

异步读取: fs.readFile(文件地址,文件编码,回调函数(err,data))

eg:

var fs = require(‘fs’);
fs.readFile(‘0912.txt’,function(err,data){
if(err){
console.log(err);
}else{
console.log(data.toString());
}
})

3.异步模式下写入文件的语法格式(如果文件存在,该方法写入的内容将会覆盖旧文件的内容)

fs.writeFile(filename,data[,option],callback(err));

三.io获取键盘交互—www.npmjs.com可以寻找模块

//io.js
var readline = require(‘readline’);
var rl = readline.createInterface(process.stdin,process.stdout);
rl.setPrompt(‘请和键盘摩擦:’);//从键盘输入内容
rl.prompt();//提示默认输出
rl.on(‘line’,(line)=>{
var str = line.trim();//是一个字体流
console.log(‘你摩擦出的火花是: ’ + str);//输出键盘输入的内容
rl.prompt();
}).on(‘close’,() =>{
console.log(‘exit’);
process.exit(0);
});

四.node的url判断渲染模块

var http =require(‘http’);
var fs = require(‘fs’);
var urlapi = require(‘url’);
http.createServer(function(req,res){
//解析请求的url
var url = urlapi.parse(req.url);
console.log(url.pathname);
}).listen(3000);

作业:
1.nodejs实现一个键盘的io交互或者浏览器输入交互
2.nodejs判断url请求渲染2个简单的模版
3.www.w3school.com.cn看前端布局,写3个静态的页面,首页,列表页,详情页(周三之前完成)

0 0