Node.js是什么?
他不是一门语言,而是一门技术,也不是JavaScript框架||库
基于谷歌v8引擎和libuv库封装的一个供js运行在浏览器之外的运行平台;
Node.js跳过了http服务器,---》速度更快,性能更牛X;
Node.js单线程多进程异步非阻塞 I/O模型
特点:
异步I/O与事件驱动(callback)
缺点:大量的匿名函数加大开发和调试的难度
应用范围:
1.高并发的业务 ---》请求特别多---》电商 直播 替代一部分功能
2.I/O密集型业务 ---》大量的读写
他不是一门语言,而是一门技术,也不是JavaScript框架||库
基于谷歌v8引擎和libuv库封装的一个供js运行在浏览器之外的运行平台;
Node.js跳过了http服务器,---》速度更快,性能更牛X;
Node.js单线程多进程异步非阻塞 I/O模型
特点:
异步I/O与事件驱动(callback)
缺点:大量的匿名函数加大开发和调试的难度
应用范围:
1.高并发的业务 ---》请求特别多---》电商 直播 替代一部分功能
2.I/O密集型业务 ---》大量的读写
3.桌面应用
exports 和 module.exports 的区别?
- module.exports 初始值为一个空对象 {}
- exports 是指向的 module.exports 的引用
- require() 返回的是 module.exports 而不是 exports
我们经常看到这样的写法:
exports = module.exports = somethings
上面的代码等价于:
module.exports = somethings
exports = module.exports
原理很简单,即 module.exports 指向新的对象时,exports 断开了与 module.exports 的引用,那么通过 exports = module.exports 让 exports 重新指向 module.exports 即可。