Node.js的简单了解和使用

概览

当浏览器输入www.baidu.com的时候,敲下回车会发生什么

  1. 利用DNS域名解析系统进行域名解析,并将域名解析成IP(域名只是一个别名,计算机是只认识IP的,所以用DNS解析,如果有端口号就识别端口号,否则进入默认端口)

初识Node.js

基于chrome V8引擎的JavaScript(服务器端的浏览器)

Node.js的包管理器npm,是全球最大的开源库生态系统

nodejs是运行后端的,nodejs并不是新的语言,而是能够在服务器端运行js的执行环境,Node.js是基于JavaScript语言和V8引擎的开源web服务器项目

node.js可以做什么

  1. 处理文件与数据库
  2. 与互联网进行沟通,以标准化的格式处理请求并发送回答(处理客户端请求)【就是处理请求,返回数据】
  3. 执行编译CSS预编译语言、预编译、压缩、混淆JS、压缩图片、reload、deploy等工程化任务

node.js优点

  1. 处理高并发场景性能更高
  2. 事件驱动、异步编程、为网络服务而设计
  3. 适用于I/O密集型的应用,不适用于CPU密集型的应用
    (node.js更多是做中间层代理,并不适合进行大量算法)

node.js模块以及使用方法

核心模块
node.js自带的:os、fs(文件系统模块)、http等

方法:

在git里面打开node环境,执行js文件
之后在js文件里编辑:
const fs = require(‘js’)
//require是nodejs一个方法,const这个方法可以进行文件增删改查

//查

//异步读取
fs.readFile('./data.txt',(err,data) => {
	if(err) throw err
	data本身是一个buffer(流).需要toSrting转成字符串
	else console.log(data.toString())
})

//同步读取
const data = fs.readFileSync('./data.txt')
	console.log(data)
//写
//如果文件已经存在,写入的内容会覆盖原内容
//如果文件不存在那就创建文件写入内容
fs.writerFile('./data.txt','hello boy',(err) => {
	if(err) throw err
	else console.log('done.')
})

//如果文件已经存在,写入的内容会追加在原内容后面
//如果文件不存在,那就创建文件写入内容
fs.appendFile('./data.txt','hello boy',(err) => {
	if(err) throw err
	else console.log('done.')
})
//改
//如果想修改文件部分内容,只能先读,然后取出来,修改后再重新写入
//删除目录(只能删空目录)
fs.rmdir('./abc',err => {
	if (err) throw err
	else console.log('deleted.')
})

//删除文件
fs.unlink('./data.txt',err => {
	if (err) throw err
	else console.log('deleted.')
})
//密码加密
const crypto = require('crypto')
var password = '123'
const secret = 'mwl123'
//secret是一个密钥 密钥不同加密结果也不同
//只能加密不能解密 可以拿两次加密的结果来比较 结果一样原文也一样
var res = crypto.createHmac('sha256',secret).update(password).digest('hex')

console.log(res)
//http
const http = require('http')

http.createServer((req,resp) => {
//创建一个服务器
//传递不同的req(前端请求的信息)
//resp就是给前端返回的数据
//一般很少手动在项目里创建,一般都用库、框架等完成,此处仅作演示

	//根据不同url解析出里面的内容
	console.log(req.url)
	//query参数
	console.log(req.query)
	//通过调用write方法向前端返回数据
	resp.write('<h1>response</h1>')
	resp.write('<h2>response</h2>')
	//别忘了end()
	resp.end()
}).listen(8080)
//listen是监听,因为我们的服务器不能停,需要listen前端发送的数据随时响应

自定义模块(commonJs规范)
module.exports(导出)、requires(导入)

  1. 作为自定义模块,希望别的模块可以使用该文件定义的东西,首先需要导出(一般都是对象)
  2. 导出的语句要放最后一句

第三方模块
gulp等,需要在命令行里执行npm install模块名称
网站在npmjs.com

首先我们要先建立一个项目
然后cd我们的项目
然后npm init - y创造初始化环境
npm i 包名 安装
然后require引入
根据说明书使用
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值