node.js

作者: 栗子daisy | 来源:发表于2020-05-31 18:57 被阅读0次

nodejs特点及应用场景

  • 非阻塞的IO (与其他技术的最大区别,文件读取,【php服务器 多线程处理,多核CPU能力;编程复杂,消耗性能,计算量大的任务适合php】【nodejs 单进程,事件循环机制eventLoop,同步操作的异步化问题】)
  • web应用;api编写;中间层

运行,调试,模块系统

在NodeJS中,Node模块允许开发者从被引入的文件中选择要暴露给外界的函数或变量。机制是通过exports对象的属性或module.exports属性进行模块暴露。NodeJS模块系统正是通过这样一种机制来避免了全局作用域的污染,从而避免了命名冲突。

  • 内建模块
const os=require('os')
const mem=os.freemem()/os.totalmem()*100
console.log(`内存占用率${mem}%`)
  • 第三方模块
    cnpm install cpu-stat
const cupStat = require("cpu-stat");
cupStat.usagePercent((err, percent) => {
  console.log(`CPU占用${percent.toFixed(2)}%`);
});
  • 自定义模块
//1
module.exports=function(){}
//使用
const conf=require('./config');
console.log(conf);
//2
exports.rmbToDollar=function(r){return r/6}
//使用
const {rmbToDollar}=require('./currency')
console.log(rmbToDollar(20));
//3 可配置的模块
let rate;
function rmbToDollar(r){return r/rate}
module.exports=function(r){
rate=r;
return {rmbToDollar}
}
//使用
const {rmbToDollar}=require('./currency')(6)
console.log(rmbToDollar(20));

nodejs 核心api

global
process
fs

//同步,阻塞操作,不建议,不执行完不做下一步
fs.readFileSync('./XX')
//异步操作
fs.readFile('./xx',(err,data)=>{})
//异步代码同步化
1.1 promise
const {promisify}=require('util')
const readFile=promisify(fs.readFile)
readFile('./xx').then(data=>{})
1.2 10.0 fs promise API 实验性质
const {promises}=require('fs')
promises.readFile('./xx',(err,data)=>{})
2.generator
3.async await

buffer
1字=2字节(1 word = 2 byte)
1字节=8位(1 byte = 8bit)


http

const http=require('http');
http.createServer((req,res)=>{}).listen(3000)

stream

const fs=require('fs'),
rs=fs.createReadStream('./xx.js'),//读取流
ws=fs.createWriteStream('./xx2.js');//写入流
rs.pipe(ws)

简版express

路由
请求流程控制



源码逻辑



导出工厂函数


相关文章

  • nodejs安装

    Node.js安装 目录 Node.js简单介绍 windows安装Node.js Linux安装Node.js ...

  • node.js基础

    什么是node.js Node.js特点 node.js优点和缺点

  • Nodejs.2

    参考内容:Node.js EventEmitter 四、Node.js EventEmitter Node.js所...

  • nodejs第一步

    Node.js 是什么?Node.js与JavaScript的区别是什么? Node.js的优点?Node.js的...

  • node 学习笔记.md

    Node.js第一天 1. 初识Node.js 1.1 Node.js是什么 Node.js® is a Java...

  • Node.js学习

    主线:Node.js是什么 --> Node.js的组成 --> Node.js的特点 --> Helloworl...

  • 使用AngularJS搭建前台框架

    Node.js部署: 下载安装包:从Node.js官网下载Node.js安装包。 安装Node.js:打开node...

  • Node.js模块

    Node.js 模块和 Node.js 包介绍。 一、Node.js模块 每一个Node.js都是一个Node.j...

  • 小鹅通视频下载mac 小鹅通课程下载教程

    前两天,Node.js官方发布了Node.js 15的正式版本,Node.js 15 将替代 Node.js 14...

  • node学习笔记

    node.js 介绍 node.js初识 node.js 平台是基于 Chrome V8 JavaScript 引...

网友评论

      本文标题:node.js

      本文链接:https://www.haomeiwen.com/subject/iocrzhtx.html