package.json属性:name为npm包名,version为包版本,main为文件入口,description为包介绍,keywords为搜索关键词,license为开源许可协议(一般为ISC)
发布包:cd到包的根目录下,利用npm publish命令上传
删除包:运行npm unpublish 包名 --force命令
注意:① 只能删除72小时内发布的包。② 已删除的包在24小时内不允许重复发布。
模块的加载机制:
① 模块优先从缓存中加载:多次调用require不会执行多次导入模块。
② 内置模块加载的优先级最高!
③ 在加载自定义模块时,必须以./或者../开头的路径标识符,否则node会当做内置模块或第三方模块进行加载。
④ 若当前加载模块不为内置模块也不以./和../开头,则Node会从当前模块的父目录开始,从/node_modules中加载第三方模块。若未找到,则会去上一层目录的node_modules中继续查找下去,直到文件系统的根目录。
Express:web开放框架,类似nodejs内置的http模块,用于创建web服务器
创建基本web服务器:
// 导入express const express = require('express') // 创建web服务器 const app = express() // 启动web服务器 app.listen(8080, () => { console.log('express server running at http://127.0.0.1:8080') })
监听客户端GET请求:app.get
app.get('url', (req, res) => {}) // req:请求对象,包含了与请求相关的属性和方法 // res:响应对象,包含了与响应相关的属性和方法
监听客户端POST请求:app.post
app.post('url', (req, res)=>{})
将内容响应给客户端:res.send(res为get与post回调函数中的响应对象)
app.get('/user', (req, res) => { // 向客户端发送JSON对象 res.send({name: 'lwh', age: 18}) }) app.post('/user', (req, res) => { // 向客户端发送文本内容 res.send('请求成功!') })
获取URL中携带的查询参数(即地址的查询字符串):req.query(req为回调函数的请求对象)
app.get('/', (req, res)=> { // 通过req.query可以获取到客户端发送的参数,默认为空对象! console.log(req.query) res.send(req.query) })
获取URL中的动态参数:req.params获取URL中通过:匹配到的对象
app.get('/user/:id', (req, res)=> { // req.params是动态匹配的URL参数,默认为空对象 console.log(req.params) res.send(req.params) })
标签:Nodejs,Day36,res,前端,req,模块,get,app,加载 From: https://www.cnblogs.com/LWHCoding/p/16720480.html