0
点赞
收藏
分享

微信扫一扫

Node.js

深夜瞎琢磨 2021-09-28 阅读 80
技术

特点

  • 提供高性能的Web服务
  • IO 性能强大
  • 事件处理机制完善
  • 天然能够处理DOM
  • 社区非常活跃,生态圈日趋完善

优势

  • 处理大流量的数据
  • 适合实时交互的应用
  • 完美支持对象数据库 【MongoDB等】
  • 异步处理大量并发连接【同时有很多用户连接访问】

准备

  • JavaScript
  • ES6
  • 一些服务器相关的知识
  • 最好在Linux系统下进行开发 【服务器大多数是Linux】

操作文件

//阻塞式代码
// var fs = require('fs');
// var data = fs.readFileSync('data.txt');//同步阻塞式,同步调用
// console.log(data.toString());//转成字符串

//非阻塞代码
var fs = require('fs');

fs.readFile('data.txt',function(err,data){
    if(err){
        return console.error(err);
    }
    console.log(data.toString())
});//异步调用,匿名函数:回调函数
console.log('程序执行完毕')

事件机制

  • 没有多线程
  • 都是异步调用
  • 观察者模式

//引入event 模块并创建eventsEmitter对象
var events = require('events')

var eventEmiter = new events.EventEmitter();
// let eventEmitter = new events.EventEmitter();

//绑定事件处理函数
var connctHandler = function connected(){
    console.log('connected被调用')
};

eventEmiter.on('connection',connctHandler);//完成事件绑定

//触发事件
eventEmiter.emit('connection');
console.log('执行完毕')
//触发事件

Node模块化

  • 节省内存,加快速度
  • 从原生模块中加载



//hello.js 模块的主要逻辑
function Hello(){
    var name ;
    this.setName = function(argName){
        name = argName;
    }
    this.sayHello = function(){
        console.log('hello'+name);
    }
};
module.exports = Hello; //对模块进行导出

//main.js
// 调用hello模块
var hello = require('./hello');//当前目录下寻找,大小写敏感
hello = new hello();
hello.setName('dyidss');
hello.sayHello();

Node.js函数

举报

相关推荐

0 条评论