NodeJS(三)---模块使用、文件读写、服务搭建

一、模块概述

为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。

模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。

一个 Node.js 文件就是一个模块。

二、模块使用

     1、第三方模块

              先安装模块,例如axios:npm i axios;

              然后使用require加载模块,var http=require("axios")。

     2、自定义模块

              导出/创建模块util.js:module.exports={'属性名':'属性值','属性名':'属性值'}

              导入/加载util.js模块:var util=require('./util')  ;或者利用解构导入

              注:加载自定义模块需要使用相对路径

     3、内置模块

              1)fs:对本地文件进行读写

                JavaScript 默认情况下是同步的,并且是单线程的。这意味着代码无法创建新的线程并                  且不能并行运行。

                同步与异步:

                同步:阻塞程序执行,直到处理完毕才能继续执行

                异步:在没有处理完成之前先执行后续代码段,通过回到函数接受处理结果

 同步异步读取:

var fs=require('fs');

// 1、同步读取
console.log(1);
var res=fs.readFileSync("./1.txt","utf-8");
console.log(res);
console.log(2);    // 1 HelloWorld! 2

// 2、异步读取
console.log(6);
fs.readFile("./1.txt","utf8",function(err,res){
	// 如果没有错误结果
	if(!err){
		console.log(res);
	}
})
console.log(8);    //6 8 HelloWorld!

同步异步写入:

var fs=require('fs');

// 同步写入
fs.writeFileSync('./2.txt','你好');
console.log("写入完毕");  

// 异步写入  
fs.writeFile('./2.txt','你好',function(err){
	if(!err){
		console.log("写入成功");   
	}
})

              2)http:服务器搭建

                NodeJS 可以使用http模块来创建http服务器。

                http已经被集成在node的基础库中。

// 引入http模块
let http=require('http');
// 引入url:获取路由参数  npm i url
let url=require('url');
// 创建服务
// req:request请求  res:response响应
let server=http.createServer(function(req,res){
	// 从请求中拿到路由参数
	let params=url.parse(req.url);
	// 设置正确的状态码
	res.statusCode=200;
	// 设置请求头
	res.setHeader('Content-type','application/json;charset=utf-8');
	// 给前端的响应结果
	res.end(`{"errCode":0,"msg":"${params.search}"}`);
})

// 开启服务
server.listen(8888,function(){
	console.log("服务启动成功!");
})
/* 
访问:
    本机访问 localhost:8888
	         127.0.0.1:8888
	外机访问
	        先查看本机的ip: 打开cmd输入ipconfig
			然后 本机ip:8888
*/
// 停止服务:ctrl+c

开启服务:

 外机访问:

    先查看本机ip:

     再打开浏览器访问:


 ctrl+c关闭服务:

 

               

               

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值