浅谈 node.js 基本操作。

转载自品略图书馆  http://www.pinlue.com/article/2020/07/0222/4410943713141.html

 

node.js:

基于Chrome V8引擎的JavaScript运行环境,让其运行在服务端的开发平台。自身提供了基本模块,也可通npm自行下载模块

特点:快、耗内存多。没有浏览器安全级别限制进行解析js代码、提供很多系统级别的api

框架的选择:

比较热门的包括:

Express(Sails),koa,Hapi

Express:完善、稳定、文档全、社区大

koa :超前(koa2)

Hapi:复杂(一个简单的helloworld都要做很多堆砌),适合复杂的大型项目

egg(阿里巴巴团队刚推出的)

Node.js的安装版本:

Node.js版本: LTS(长时间支持版本——-推荐)

Current(最新版本,有些api会有变动)

在node环境下执行js文件:终端进入文件所在目录,在终端中输入 node 文件名

node.js模块开发规范

自定义模块

var obj = {这里可以写函数,写对象}

module.exports = obj

加载自定义模块

var obj = require("自定义的文件的名称")

例:文件名称为01.js

let a = { username:"aaa", log:function(){ console.log("hello world") }}// 暴露 模块 a 对象module.exports = a;

 

在文件名称02.js中引用

// 获取到了 01.js 暴露的模块let box = require("./01")// 目录 模块let bxios = require("./bxios")console.log(box.username)box.log()bxios()console.log(222)console.log(333)

 

在整个目录暴露时,只读取文件名为index.js这一个文件

安装好之后进入方法  window+r 或者在想打开的文件的地址栏输入cmd。或者在vscode的文件里选择在终端中打开。或者在开始菜单搜索cmd(该方式可以用管理员方式运行)

这样就可以使用npm的命令

1.npm -v :查看npm安装的版本

2.npm init:会引导你创建一个package.json文件,包括名称、版本、作者等信息。

使用npm init-y 可以跳过很多回车步骤

3.npm list:查看当前目录下已安装的node包 (简写:npm ls)

4.npm install moduleNames:安装nde模块到本地目录node_modules下

5.npm install <name> -g  将包安装到全局环境(install可以简写为i)

6.npm install<name>--save 将包安装的同时,将信息写入package.json中;

7.npm uninstall moudleName:卸载node模块

nrm 源管理器

在node界面中输入

npm config set registry https://registry.npm.taobao.org

即可将npm源修改成淘宝的源(服务器)

安装nrm,可将其安装到全局

指令npm i nrm -g

执行命令nrm ls 查看可选的源。当前源上有*符号

执行命令nrm use (taobao)源名,可切换所使用的源

nodemon:自动重启应用,并执行修改后的代码。

安装:npm i nodemon -g

使用:nodemon 文件名(不加文件名默认打开index.js)

Nodejs内置模块http  解析http协议,可以用来搭建服务器

// 加载了内置模块 http   解析http协议

let http = require("http");

// console.log(http)

语言方法

2533rox8rXB7NO

1o6OM传媒公司是做什么的

37872007/07/03 19:12:24

// 一旦有客户端请求服务器 ,监听的回调函数就会执行let server = http.createServer((req,res)=>{ console.log("服务器:收到了客户端的请求") req // 是http请求 console.log(req.url) // 参数 if(req.url === "/favicon.ico"){ res.end() return; } console.log("aaaa") res//服务器给客户端的响应 数据库 读取本地文件 res.write("aaa"); res.end("bbbb")})// 80 // 监听主机上的 端口server.listen(3000,"192.168.13.56",function(){ console.log("已经开始监听了,服务器启动成功了")})

 

首先是解析http  然后通过http.createServer((req,res)=>这里是服务器收到的客户端的请求)

其次 server.listen(端口号,地址,回调函数)用来监听服务器是否启动成功

nodejs的api

url

url.parse("接口地址"),查询url的信息将字符串转为对象

url.format(),将url对象转为url字符串

例let url = require("url");// /ap/login.html?usename=aa&passwordlet urlStr = "https://sub.host.com:8080/login?username=1212&password=222"let obj = url.parse(urlStr)//url字符串 转为 对象console.log(obj.pathname)//接口console.log(obj.query)// username=1212&password=222console.log(obj.search)// ?username=1212&password=222// url对象转为 url字符串let str = url.format(obj)console.log(str)

 

Query String:用于实现url参数字符串与参数对象的相互转换。

例:let qs = require("querystring")// URL字符串转为js中对象let obj = qs.parse("username=zhangsan&password=123")//{ username: "zhangsan", password: "123" }console.log(obj)let obj2 = { username: "zhangsan", password: "123" }//username=zhangsan&password=123let str = qs.stringify(obj2)console.log(str)

 

Path

path模块提供了用于处理文件路径的工具

path.normalize()//正常化路径

path.join()//链接路径

path.resolve()//转化为绝对路径

path.extname()//获取当前路径下文件名的后缀

例:let path = require("path")// 正常化路径console.log(path.normalize("/ap/aa/..")) // 链接路径 \ap\admin\index.htmlconsole.log(path.join("/ap","admin","index.html"))//转化为绝对路径 D:\教学\zz2003\DAY16\代码\06.path.jsconsole.log(path.resolve("06.path.js"))// 获取url中的后缀 .htmlconsole.log(path.extname("http://aaaadfadf/login.html"))console.log(path.extname("/zxx.jpg"))

 

File System--node操作文件

用require("fs")来表示

1)stat() 获取文件的一些信息

2)mkdir() 新增目录的

3)writeFile(url,con,fc) 书写文件

4)appendFile(url,con,fc) 追加文件内容

5)读取文件的内容:readFile(url,fc)

6)列出目录的东西:readdir

7)重命名目录或文件:rename

8)删除目录与文件:rmdir(目录),unlink(文件) readdirSync(src) 同步读取目录信息

例:// fs// 处理电脑的文件的// fs 里的方法基本都是异步,也有同步let fs = require("fs");// 错误优先fs.stat("06-path.js",function(err,data){ // 回调函数的第一个参数 一般都是err 错误,操作成功err是null,操作失败err就有错误信息了 if(!err){ console.log("读取成功") // console.log(data) } else{ console.log("读取失败",err) } })console.log(2222)// async 异步// sync 同步let res = fs.statSync("06-path.js");// console.log(res) // 创建目录fs.mkdir("./js",function(err,data){ if(err){ console.log(err) return } console.log("创建成功")})// 创建文件,并写入内容// fs.writeFile("./js/index.js","console.log("hello nodejs")",function(err){// if(err){// console.log("创建失败")// }else{// console.log("创建成功")// }// })// 文件追加内容// fs.appendFile("./js/index.js","\n var a= 1;",function(){// console.log("appendFile") // })// 读取文件内容// fs.readFile("./js/index.js",function(err,data){// console.log(data.toString())// })// 读取文件夹 [ "a.js", "index.js" ]// fs.readdir("./js",function(err,data){// console.log(data)// })// 重命名// fs.rename("./js/a.js","./js/b.js",function(err,data){// console.log(err)// })// 删除文件// fs.unlink("./js/b.js",function(err){// console.log(err)// })// fs.unlinkSync// 删除目录// fs.rmdir("./js",function(err){// console.log(err)// })// fs.rmdirSync

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值