导出
module.exports=(导出的内容) 比如函数,对象,数组,变量等等
导入
var 变量名=require("./路径和文件名")
导入时必须使用./(相对当前文件路径)开始 , 文件名不带扩展名!!
导入多个模块
var {o:o1,abc,arr}=require("./路径和文件名名");
使用 ( : ) 起别名
node自身也有一些api库,存储在node的安装文件中,当我们需要使用时,直接就可以调用了
var http=require("http");//在这里没有使用./,因为这个模块时系统模块,不是当前项目路径模块
var _=require("lodash");//如果使用npm下载的插件,也可以直接使用不写./直接调用就可以
1、需要定义的文件扩展名必须为 .mjs
2、在导入时必须添加扩展名
注意⚠️
ES6模块方式只能使用node 12以上的版本
如果单独使用js命名调用,务必在 package.json 中增加 type:“module” 方式,确定执行的模块是es6模块
这样就不能使用require这种commonjs方式了
http模块是node自带的一个api,是http通信使用模块
通过http创建一个node服务
var http=require("http")
res.setHeader(“Content-Type”,“text/html;charset=utf-8”)
设置响应头,但是不发送,每次只能设置一个响应头,可以设置多次
要求如果使用setHeader时,不能写在writeHead之后,必须写在writeHead之前
res.writeHead()
写入响应头,并发送响应头,只能有一个
res.write()
向响应体中写入内容,而且write必须在end之前。
res.end()
结束内容并发送给前端,end只能有一个
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)