模块在第一次加载后会被缓存,
注意:不论是内置模块。自定义模块,第三方模块,他们都会优先从缓存中加载,从而提高模块的加载效率
内置模块由node.js 官方提供的模块,内置模块的加载优先级最高
使用 require() 加载自定义模块时,必须指定./ 或 …/ 开头的路径标识符,在加载自定义模块时,如果没有./ 或 …/ 这样的路径标识符,node会把它当成内置模块或第三方模块进行加载
在 require() 导入自定义模块时,如果省略了文件的扩展名,则Node.js会按照顺序分别尝试加载以下的文件1.按照确切的文件名加载
2.补全.js扩展名进行加载
3.补全.json扩展名进行加载
4.补全.node扩展名进行加载
5.加载失败,终端报错
如果没有找到对应的第三方模块,则移动到再上一层父目录中,进行加载,直到文件系统的根目录
// 1.导入 Express
const express =require('express')
// 2. 创建web服务器
const app = express()
// 3. 调用app.listen(端口号,启动成功的回调函数) 启动web服务器
app.listen(8088,()=>{
console.log('express server running at http://127.0.0.1:8088')
})
// 1.导入 Express
const express = require('express')
// 2. 创建web服务器
const app = express()
// 4. 监听客户端的 GET 和 POST 请求,并向客户端响应具体的内容
app.get('/user', (req, res) => {
//调用express 提供的res.send() 方法,向客户端响应一个JSON 对象
res.send({
name: 'lfh',
age: 29,
gender: '男'
})
})
app.post('/user', (req, res) => {
//调用express 提供的res.send() 方法,向客户端响应一个文本字符
res.send('请求成功')
})
// 3. 调用app.listen(端口号,启动成功的回调函数) 启动web服务器
app.listen(8088, () => {
console.log('express server running at http://127.0.0.1:8088')
})
/*在浏览器中请求接口
* http://127.0.0.1:8088/?user=za&age=20
* 页面显示:{"user":"za","age":"20"}
* */
// 1.导入 Express
const express = require('express')
// 2. 创建web服务器
const app = express()
//获取url 中传递的参数呢
app.get('/',(req,res)=>{
console.log(req.query)
//通过req.query 可以获取到客户端发送过来到查询参数
//注意: 默认情况下,req.requry是一个空对象{}
res.send(req.query)
})
// 3. 调用app.listen(端口号,启动成功的回调函数) 启动web服务器
app.listen(8088, () => {
console.log('express server running at http://127.0.0.1:8088')
})
/**
* 浏览器输入 http://127.0.0.1:8088/user/1
* 页面显示:{"id":"1"}
* **/
// 1.导入 Express
const express = require('express')
// 2. 创建web服务器
const app = express()
//获取通过 : 动态匹配到参数值
// :id是一个动态的参数,也可以访问多个 /user/:id/:name
app.get('/user/:id',(req,res)=>{
console.log(req.params)
//注意: 默认情况下,req.params是一个空对象{},里面存放这通过 : 动态匹配到参数值
res.send(req.params)
})
// 3. 调用app.listen(端口号,启动成功的回调函数) 启动web服务器
app.listen(8088, () => {
console.log('express server running at http://127.0.0.1:8088')
})
const express = require('express')
const app = express()
// 使用express.static() 方法,快速的对外提供静态资源
app.use(express.static('public'))
app.use(express.static('fiels'))
app.listen(8081,()=>{
console.log('express server running http://127.0.0.1:8081')
})
app.use(express.static('public'))
app.use(express.static('files'))
app.use('/public',express.static('public'))
app.METHOD(PATH,HANDLER)

const express = require('express')
const app = express()
// 挂载路由
app.get('/',(req,res)=>{
res.send('get请求')
})
app.post('/login',(req,res)=>{
res.send('post请求')
})
app.listen(8086,()=>{
console.log('http://127.0.0.1:8086')
})
/**
* 路由模块
* **/
const express = require('express')
const router = express.Router()
//挂载具体的路由
router.get('/user',(req,res)=>{
res.send('get user')
})
router.post('/user/delete',(req,res)=>{
res.send('/user/delete')
})
module.exports = router
/**
* 注册路由
* **/
const express = require('express')
const app =express()
//1.导入路由模块
const router = require('router')
//2.注册路由模块
// 注意: app.use() 函数的作用就是来注册中间件
// app.use(router)
app.use('/api',router) //为路由模块添加前缀
app.listen(8087,()=>{
console.log('http://127.0.0.1:8087')
})