Node-基础

本文详细介绍了Node.js中的模块化机制,包括CommonJS的导出和导入方式,以及如何使用node内置和npm安装的模块。同时,文章探讨了ES6模块化的特点和使用注意事项,强调了不同版本Node.js对ES6模块的支持。重点讲解了http模块创建服务器的基本流程,如设置响应头、写入响应内容和结束响应,并提供了创建简单HTTP服务器的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

commonjs 的导出和导入方式
  • 导出
    module.exports=(导出的内容) 比如函数,对象,数组,变量等等

  • 导入
    var 变量名=require("./路径和文件名")
    导入时必须使用./(相对当前文件路径)开始 , 文件名不带扩展名!!

  • 导入多个模块
    var {o:o1,abc,arr}=require("./路径和文件名名");
    使用 ( : ) 起别名

node自身也有一些api库,存储在node的安装文件中,当我们需要使用时,直接就可以调用了

var http=require("http");//在这里没有使用./,因为这个模块时系统模块,不是当前项目路径模块
var _=require("lodash");//如果使用npm下载的插件,也可以直接使用不写./直接调用就可以
node使用ES6模块化

1、需要定义的文件扩展名必须为 .mjs
2、在导入时必须添加扩展名

注意⚠️
ES6模块方式只能使用node 12以上的版本
如果单独使用js命名调用,务必在 package.json 中增加 type:“module” 方式,确定执行的模块是es6模块
这样就不能使用require这种commonjs方式了

nodeServer

http模块是node自带的一个api,是http通信使用模块
通过http创建一个node服务

var http=require("http")

fn这个回调函数中包含两个参数,一个req,一个res 这个回调函数,一旦有前端发送数据给服务端时,就会执行这个回调函数
  • req
    是请求对象,前端发送数据给服务端,这个发送来的数据叫做请求数据
  • res
    -是响应对象,服务端发送数据给前端,这个要发送出去的数据叫做响应数据
    其中比较重要的是请求头、请求数据,响应头、响应数据

  • res.setHeader(“Content-Type”,“text/html;charset=utf-8”)
    设置响应头,但是不发送,每次只能设置一个响应头,可以设置多次
    要求如果使用setHeader时,不能写在writeHead之后,必须写在writeHead之前

  • res.writeHead()
    写入响应头,并发送响应头,只能有一个

  • res.write()
    向响应体中写入内容,而且write必须在end之前。

  • res.end()
    结束内容并发送给前端,end只能有一个


  • server.listen(端口号,域名,开启服务后执行的回调函数)
    服务侦听,表示允许客户端接入发送消息
    域名可以省略,默认为当前域名
    回调函数也可以省略
server.listen(4010,"localhost",function(){
    console.log("服务开启")
})

示例
var server=http.createServer(fn(req,res){
	res.setHeader("Content-Type","text/html;charset=utf-8");
    res.writeHead(200);
	res.write("<ul>")
    res.write("<li>1</li>")
    res.write("<li>2</li>")
    res.write("<li>3</li>")
    res.write("<li>4</li>")
    res.write("</ul>");
    res.end();
}).listen(8080)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值