必备小知识-express启动一个服务

177 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

express

express 启动一个小型服务器

Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用

丰富的HTTP工具以及来自Connect框架的中间件随取随用,创建强健、友好的API变得快速又简单

简单小栗子:

### express()

创建一个express应用程序

```js
var express = require('express');
var app = express();

app.get('/', function(req, res){
  res.send('hello world');
});

app.listen(3000);
## 具体项目代码实现:

首先安装 express 引入, 初始化一个服务, 然后启动项目服务

```js
const express = require('express')
const data = require('./data')
const fs = require('fs')
const url = require('url')
var app = express()

使用静态资源中间件 (middleware)

app.use(express.static('views'))

app.set('view engine', 'ejs')
app.get('/', (req, res) => {
  res.send('hello world')
})
app.get('/list/:no?', (req, res) => {
  //:no 为参数必须为这个,  ? 表示这个参数可以有可以无
  n = Number(req.params.no)
  if (!n && n != 0) n = 1
  res.render('list', {
    list: data.list,
  })
})
app.get('/add*', (req, res) => {
  var obj = url.parse(req.url, true)
  data.list.push(obj.query.item)
  fs.writeFileSync('./data.json', JSON.stringify(data))
  res.render('list', {
    list: data.list,
    n: data.list.length - 1,
  })
})
app.get('/del/:num?', (req, res) => {
  var num = req.params.num * 1
  data.list.forEach((index, item) => {
    if (num == item) {
      data.list.splice(index, 1)
      fs.writeFileSync('./data.json', JSON.stringify(data))
      res.render('list', {
        list: data.list,
        n: data.list.length - 1,
      })
    }
  })
  console.log(num)
})
app.get('/modify/:num', (req, res) => {
  var num = req.params.num * 1
  var item = data.list[num]
  res.render('modify', {
    num: num,
    item: item,
  })
})
app.get('/modify*', (req, res) => {
  var obj = url.parse(req.url, true)
  data.list[obj.query.num] = obj.query.item
  fs.writeFileSync('./data.json', JSON.stringify(data))
  res.render('list', {
    list: data.list,
    n: data.list.length - 1,
  })
})
// app.get('/data',(req,res)=> {
//     res.json(data)
// })
var ser = app.listen(2000, () => {
  console.log('listen ' + ser.address().port + '...')
})