node笔记(2)

 

过程

const http=require('http')    导入http模块
const server= http.createServer()     调用http.createServer
server.on('request', (req,res) => {      给server绑定一个requset事件
    const url=req.url    
    const method=req.method     post/get
    const str=`method is ${url},method is ${method}`
    res.setHeader('Content-Type','text/html;charset=utf-8')  解决中文乱码问题
    console.log(str);
    res.end('请求消息='+str)   象客户端返回数据
})
server.listen(80, ()=>{
    console.log('http://127.0.0.1');  
})

 解决中文乱码

 自定义模块 .js可省略

module.exports

// 在一个自定义模块中,默认情况下, module.exports = {}

const age = 20

// 向 module.exports 对象上挂载 username 属性
module.exports.username = 'zs'
// 向 module.exports 对象上挂载 sayHello 方法
module.exports.sayHello = function() {
  console.log('Hello!')
}
module.exports.age = age

// 让 module.exports 指向一个全新的对象   age username 将被覆盖
module.exports = {
  nickname: '小黑',
  sayHi() {
    console.log('Hi!')
  }
}

 不要再同一个模块中同时使用exports和module.exports

express

// 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: 'zs', age: 20, gender: '男' })
})
app.post('/user', (req, res) => {
  // 调用 express 提供的 res.send() 方法,向客户端响应一个 文本字符串
  res.send('请求成功')
})
app.get('/', (req, res) => {
  // 通过 req.query 可以获取到客户端发送过来的 查询参数
  // 注意:默认情况下,req.query 是一个空对象
  console.log(req.query)
  res.send(req.query)
})
// 注意:这里的 :id 是一个动态的参数
app.get('/user/:ids/:username', (req, res) => {
  // req.params 是动态匹配到的 URL 参数,默认也是一个空对象
  console.log(req.params)
  res.send(req.params)
})

// 3. 启动 web 服务器
app.listen(80, () => {
  console.log('express server running at http://127.0.0.1')
})

express 对外提供静态资源

const express = require('express')
const app = express()

// 在这里,调用 express.static() 方法,快速的对外提供静态资源
app.use('/files', express.static('./files'))
app.use(express.static('./clock'))  clock文件夹中的文件不包括clock文件夹

app.listen(80, () => {
  console.log('express server running at http://127.0.0.1')
})

要调用多个文件夹 则多调用几个 app.use(express.static(' 调用的文件夹'))函数即可

nodemone  文件名 自动重启 不需要ctrl+c重新运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值