1.require是一个方法,他的作用是用来加载模块的
一般用法:
1)加载文件模块并执行里面的代码
2)拿到被加载的模块导出的接口对象
2.Node.js的模块有三种
1)具名的核心模块
2)用户自己编写的文件模块
3)第三方模块
引用文件的主文件
console.log('下面演示加载a.js文件')
let getExport=require('./a')
console.log('结束演示')
被引用的文件
console.log('a.js文件被调用')
3.由于在Node中没有全局作用域,只有块级作用域,所以外部访问不到内部,同样内部也无法访问外部,但是有的时候是为了跨文件获取其他文件中的数据,这时我们就需要使用require的另一个作用了,使用exports对象中的成员来传递数据
引用文件的主文件
console.log('下面演示加载a.js文件')
let getExport=require('./a')
console.log('结束演示')
console.log(getExport.dream)
被引用的文件
console.log('a.js文件被调用')
let dream='12周像乔丹一样飞'
exports.dream='打理工杯'
4.ip地址与端口号的简单补充
1)ip地址用来定位计算机
2)端口号用来定位具体的应用程序
3)一切需要互联网通信的软件都会占用一个端口号
4)端口号的范围是0~65536
5)在计算机中有一些默认端口号最好不要去使用,比如http服务的80
6)我们可以同时开启多个服务,但是一定要确保不同服务占用的端口号不一致才可以,在一台计算机中,同一个端口号同一时间只能被一个程序占用
5.解决从服务器发送中文乱码问题
在服务端默认发送的数据其实是utf-8编码的内容,但是浏览器不知道你是utf-8编码的内容,就会按照当前操作系统的默认编码去解析,比如中文的操作系统默认就是gbk,解决方法就是告诉浏览器发送的内容的编码,而在http协议中,Content-type就是用来告诉对方我给你发送的数据内容是什么类型
使用response.setHeader('Content-Type','text/plain;charset=utf-8')语句来指定编码
let http=require('http')
let server=http.createServer()
server.on('request',function(request,response){
console.log('收到客户端的请求了,请求路径是:'+request.url)
let url=request.url
if(url==='/'){
{
response.setHeader('Content-Type','text/plain;charset=utf-8')
response.end('我是主页')
}
})
server.listen(3333,function(){
console.log('服务器启动成功了,可以通过http://127.0.0.1:3333/来进行访问')
})
6.后台向前端发送文件与图片
如果发送的是文件,那么需要先读取文件中的内容,然后设置编码格式类型,如果发送的是图片等,同样需要设置编码类型。
let fs=require('fs')
let http=require('http')
let server=http.createServer()
server.on('request',function(request,response){
fs.readFile('./despair.jpg',function(error,data){
response.setHeader('Content-Type','image/jpeg')
response.end(data)
})
})
server.listen(3333,function(){
console.log('服务器启动成功了,可以通过http://127.0.0.1:3333/来进行访问')
})