导读:初识Node与内置模块.概述:了解Node.js,熟悉内置模块:fs模块、path模块、http模块.初识Node.js.浏览器中的JavaScript运行环境.运行环境是指代码正常运行所需的必要环境.对于Chrome浏览器运行环境=V8引擎+内置API(DOM、BOM等).V8
概述:了解Node.js,熟悉内置模块:fs模块、path模块、http模块
运行环境是指代码正常运行所需的必要环境
也许你听到的后端开发语言大多是:Java、Python、PHP等,但其实Js也能做后端开发,虽然性能不如他们,但对于前端开发人员十分友好。
如果我们把Js代码运行浏览器中,就可以进行前端开发;如果运行到Node.js中,就可以实现后端开发 。
Node.js 是一个基于Chrome V8引擎的JavaScript运行环境
Node.js官网:http://nodejs.org/zh-cn/
对于Node.js运行环境=V8引擎+内置API
很多框架和工具,都基于Node的基础功能,学会Node.js,可以“帮助前端程序员胜任更多工作 ”:
JavaScript基础语法——Node.js内置API模块(fs、path、http等)——第三方API模块(express、koa、egg、mysql等)
官网下载安装
区分LST版本和Current版本:
查看已安装的版本号
//打开终端(Terminal)
ndoe -v
打开终端
输入node要执行的Js文件路径
F:\xxx\xxx\Node.js>node index.js
终端中的快捷键:
fs模块是Node.js官方提供的用来操作文件 的模块,它提供了一系列的方法和属性,用来满足用户对文件的操作需求。
fs.readFile()方法,读取文件内容
fs.writeFile()方法,写入内容
const fs=require('fs')
参数1:文件的存放路径
参数2:读取时采用的编码格式(可选)
参数3:回调函数,得到失败和成功的结果
fs.readFile(path[,options],callback)
const fs = require(‘fs’);
fs.readFile(‘./files/1.txt’, ‘utf8’, function (err, dataStr) { console.log(err) console.log(“——————”) console.log(dataStr) })
参数1:文件的存放路径
参数2:写入的内容
参数3:读取时采用的编码格式(可选)
参数4:回调函数,得到失败和成功的结果
fs.writeFile(file,data[,options],callback)
const fs = require(‘fs’);
fs.writeFile(‘./files/1.txt’, ‘Hello World!’, function (err) { console.log(err) })
在使用fs模块操作文件时,如果提供的操作路径是以./或../开头的相对路径,很容易出现路径动态拼接错误问题。
原因:代码运行时,会以node命令时所处的目录,动态拼接被操作文件的完整路径。
解决:直接提供完整的绝对路径(移植性差,不利于维护)。
fs.writeFile(__dirname+'/files/2.txt', newStr, function (err) {
if (err) {
return console.log("文件写入失败!+", err.message)
}
console.log("文件写入成功!")
})
path模块是Node.js官方提供的用来处理路径 的模块,它提供了一系列的方法和属性,用来满足用户对路径的处理需求。
path.join()方法,将多个路径片段拼接成一个完整的路径字符串
path.basename()方法,将路径中的文件名解析出来
const path=require('path')
path.join([...paths])
const path = require('path')
const pathStr = path.join('/a', '/b/c', '../', '/d', 'e') //../抵消一层
console.log(pathStr)//\a\b\d\e
参数1:文件的存放路径
参数2:文件扩展名
path.basename(path[,ext])
const path = require(‘path’)
const fpath = ‘./files/1.txt’ const fullname = path.basename(fpath) console.log(fullname)//1.txt
const nameWithoutExt = path.basename(fpath, ‘.txt’) console.log(nameWithoutExt)//1
path.extname(path)
在网络节点中,负责消费资源的电脑,叫做客户端;负责对外提供网络资源的电脑,叫做服务器。
http模块是Node.js官方提供的用来创建Web服务器的模块 的模块,通过提供的http.createServer()方法,就能把一台普通的电脑,变成一台Web服务器,从而对外提供Wbe资源。
const http=require('http')
服务器和普通电脑的区别在于:服务器上安装了Web服务器软件,例如IIS、Apache等
再Node.js中,我们不需要使用IIS、Apache等第三方web服务器软件。因为我们可以基于Node.js的http模块,通过几行代码,手写一个服务器软件,从而对外提供web服务。
导入http模块
创建web服务器实例
为服务器实例绑定reques时间,监听客户端请求
启动服务器
const http = require(‘http’) const server = http.createServer()
server.on(‘request’, function (req, res) { console.log(“Someone visit our web server”) })
server.listen(8082, function () { console.log(“Server running at http://127.0.0.1:8082”) })
访问与客户端相关的数据或属性
const http = require('http')
const server = http.createServer()
server.on('request', req=>{
const url=req.url//客户端请求的url地址
const method=req.method//客户端请求的method类型
})
server.listen(8082, function () {
console.log("Server running at http://127.0.0.1:8082")
})
访问与服务器相关的数据或属性
const http = require('http')
const server = http.createServer()
server.on('request', (req, res) => {
const url = req.url//客户端请求的url地址
const method = req.method//客户端请求的method类型
//调用res.end向客户端响应内容
res.end("Hello World!")
})
server.listen(8082, function () {
console.log("Server running at http://127.0.0.1:8082")
})
res.setHeader('Content-Type','text/html; charset=utf-8')
###
上一篇:重磅更新!Sermant 1.2
下一篇:界面重建——Marching c