Node.js

require的功能:require()的功能有两个:1、引入文件,例如:核心模块,本地文件....2、拿到被加载文件中导出的接口对象(exports)...0x01引入本地文件引入本地文件后,会执行引入文件中的代码。各个文件中的变量只在各自的文件中生效,不会相互影响。如果想要使用另一个文件中的数据需要将该数据添加到exports对象中。注意:*如果引入本地本地文件,使用相对路径必须写上./,否则会认为引入的是核心模块。*如果引入的是本地文件,可以忽略后缀名。例如:require("./b");0x02require中的exports对象require还有一个作用,就是可以拿到加载文件中导出的接口对象。A文件想要打印B文件中的数据,默认是不可以的,因为node.js中的作用域是模块,每个文件中的数据只在自己文件中生效。但是每个模块(文件)中都有一个exports对象,require可以拿到被引入文件中的exports对象,exports对象默认是空的,需要手动为它添加属性。但是如果将B文件中的数据添加到exports对象中的属性中去,这样A文件在执行require(“./B.js”)时,就可以拿到B文件中的exports对象了。//A.js-例如想要拿到B.js中的age变量//require()可以拿到被加载文件中的exports对象。//所以在B.js中将age添加到这个对象中。varbFile=require("./B.js");console.log(bFile.age);//打印B.js文件里exports对象中的age属性。//B.jsvarage=19;//将age添加到exports对象中exports.age=age;案列://a.js-拿b.js中的变量和函数varbFile=require("./b.js");//b.jsvarname="小明";varage=19;varsayHi=function(){console.log("Hi!我是"+name+",今年"+age+"岁了。");}//对外提供的数据添加到exports对象中exports.name=name;exports.age=age;exports.sayHi=sayHi;0x03小知识:module变量代表当前文件,这个变量是一个对象,它的属性exports是对外的接口。使用moduble.exports和使用exports效果一样(为了方便),因为在每个文件的头部都有这样一行命令。varexports=module.exports;所以不能将exports指向其他值,否则这两个就没了关联,会产生意外。

2021-6-20 62 0
Node.js

http核心模块http核心模块的功能就是创建一个web服务器。首先需要使用require()加载http核心模块。//加载http核心模块varhttp=require("http");一共有两种方式可以创建:直接使用createServer()创建。使用createServer()返回一个实例对象,通过实例对象分步创建。0x01分步创建(根据请求路径不同响应不同内容)://加载http核心模块varhttp=require("http");//通过createServer()创建一个web服务器,并返回一个实例对象varserver=http.createServer();/*通过实例对象中的on方法,添加监听事件-第一个参数为监听事件-第二个参数为回调函数:-回调函数有两个参数:-request:请求对象-response:响应对象*///监听请求,当客户端的请求过来,会自动触发回调函数server.on("request",function(request,response){//request.url可以获取客户端请求的路径,首页为:///获取请求路径varurl=request.url;switch(url){//如果请求的是首页,则响应indexcase"/":response.end("index");break;//如果请求的是admin,则响应admincase"/admin":response.end("admin");break;//如果请求的是API,则响应JSON数据case"/API":varphoneApi=[{"name":"iphone12pro","price":8499},{"name":"SAMSUNGGalaxyS21","price":3999}];//将JSON数据转换成字符串,否则报错response.end(JSON.stringify(phoneApi));break;//如果请求其他路径,则响应404notFound!default:response.end("404notFound!");}});//绑定端口号server.listen("80");0x02直接创建://加载http核心模块varhttp=require("http");//通过createServer()创建一个web服务器:直接写回调函数varserver=http.createServer(function(request,response){//直接在里面写代码体即可-和分步创建相同}).listen("80");

2021-6-20 47 0
2021-6-19 53 0
2021-6-19 60 0
2021-4-14 127 0
生活

11月刚刚过去,尼玛12月是一点都不善待我~倒霉的一天昨天晚上定了一个7点10分的闹钟,因为今天第一节有英语要上,然后不知道是我睡得太死了还是手机的问题,妈的一觉淦到了8点40多,然后班长给我打电话用手环的来电提醒才把我弄醒。然后我就赶紧着急的上英语去了呗,去了老师让打开云班课让看班课的经验值,我一看还有一个任务没完成呢,我就点进去了,哎,我一看,这不是期末要设计的手抄报吗,然后我就继续往下看那么要求,看着看着发现,妈的手抄报只能选几个固定的主题,一开始我看的是在群里发的一张图片,哪个图片上没有说要写什么主题,我就画了一张抗击疫情的,他妈的,后来又重新画了一份。然后这个事情就发生在刚刚,这个文章是下晚自习写的,现在是20:02分,就在前一个小时,我敬爱的班长就给我打电话过来了,哈哈哈!不好意思,又睡过了…睡的时候想着定个闹钟的,结果直接睡着了…还有还有,妈的这几天总是要帮别人看网页,妈的真是烦死了。自己什么都不会,还要一直要求改。不想去吐槽给别人听,也没人愿意听这些乱事情,就写在这里发泄和记录一下叭!其实倒霉归倒霉,没有那么好但是也没有那么糟,就比如英语哪个事情,如果没有发现然后改正,那岂不是零分了!!还好还好!那就那样!2020年12月1日,我是一名淦觉王.

2020-12-1 159 0