一、模块的加载机制
1、优先从缓存中加载
模块在第一次加载后会被缓存,这也意味着多次调用require()不会导致模块的代码被执行多次。
注意:
不论是内置模块、用户自定义模块、还是第三方模块,他们都优先从缓存中加载,从而提高模块的加载效率。
2、内置模块的加载机制
内置模块是由Node.js官方提供的模块,内置模块的加载优先级最高。
如果有同名模块,优先加载官方提供的模块。
3、自定义模块的加载机制
使用require()加载自定义模块时,必须制定以./或../开头的路径标识符。在加载自定义模块时,如果没有制定./或../这样的
路径标识符,则node会把它当成内置模块或第三方模块进行加载。
同时,在使用require()导入自定义模块时,如果省略了文件的扩展名,则Node.js会按顺序分别尝试加载以下的文件:
按照确切的文件名进行加载
补全.js扩展名进行加载
补全.json扩展名进行加载
补全.node扩展名进行加载
加载失败,终端报错
二、Express
1、什么是Express
Express是基于node.js平台,快速、开放、极简的web开发框架
Express的作用和Node.js内置的http模块类似,是专门用来创建Web服务器的。
Express的本质:就是一个npm上的第三方包,提供了快速创建Web服务器的便捷方法。
2、Express能做什么
使用Express,我们可以方便、快速的创建Web网站的服务器或API接口的服务器。
安装:
npm i express
监听GET请求:
通过get()方法,可以监听客户端的GET请求。
监听POST请求:
通过post()方法,可以监听客户端的POST请求。
将内容响应给客户端:
通过res.send()方法,可以把处理好的内容,发送给客户端
获取URL中携带的查询参数:
通过req.query对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参数
获取URL中的动态参数:
通过req.params对象,可以访问到URL中的动态参数。
托管静态资源:
exporess提供了一个非常好用的函数,交express.static(),通过它,我们可以非常方便的创建静态资源服务器。
例如:
app.use('/public',express.static('public'))