这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战
关于Node是什么,以及如何安装node等基础知识,本系列文章便不再赘述,本专栏的特点是只讲干货,从零基础开始学习NodeJs.
Node和浏览器环境的不同之处
1. Node中没有DOM和BOM
console.log(window); console.log(document); 复制代码
我们通过node命令运行上面的代码是会报错的。
2. 浏览器环境下的JS是没有操作文件的能力的,但是Node有
fs是file-system的简写,是文件系统的意思,在Node中如果想要进行文件操作,就必须引入fs这个核心模块,在fs这个核心模块中,提供了操作文件的相关API,例如fs.readFile就是用来读取文件的。
const fs = require('fs'); fs.readFile('./readme.md',(err,data) => { if (!err) { console.log(data.toString()); } }) 复制代码
使用Node创建基础的HTTP服务
// 1. 加载http核心模块 const http = require('http'); // 2. 创建服务器实例 const server = http.createServer(); // 3. 注册request请求事件 server.on('request',(request,response) => { console.log('服务器端收到请求'); console.log('客户端的请求路径是:',request.url); response.write('<h1>Hello,Node!</h1>'); // response.end(); if (request.usr = '/index') { response.write('666'); } response.end(); }) // 4. 绑定端口号,启动服务器 server.listen(3000,() => { console.log('服务器启动成功'); }); 复制代码
响应数组、对象、数字等格式的内容使用JSON.stringify
const http = require('http'); // 1. 创建服务器实例 const server = http.createServer(); // 2. 监听请求事件,设置请求处理函数 server.on('request',(request,response) => { if (request.url === '/index') { // response.write('666666'); } const test = [{name: 'justin',phone: '11'}]; response.end(JSON.stringify(test)); }) // 3. 监听指定端口 server.listen(3000,() => { console.log('服务器启动成功!'); }) 复制代码
使用OS模块获取当前系统的信息
const os = require('os'); console.log(os.cpus()); 复制代码
[ { model: 'Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz', speed: 2304, times: { user: 1780218, nice: 0, sys: 2250343, idle: 24643734, irq: 617593 } }, { model: 'Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz', speed: 2304, times: { user: 1810000, nice: 0, sys: 1999546, idle: 24864125, irq: 370703 } }, { model: 'Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz', speed: 2304, times: { user: 1855187, nice: 0, sys: 1691656, idle: 25126828, irq: 148062 } }, { model: 'Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz', speed: 2304, times: { user: 1898781, nice: 0, sys: 1538750, idle: 25236140, irq: 65781 } } ]