源代码在这里
Part 1. HelloWorld
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| const http = require("http") const host = process.env.HOST || "localhost" const port = process.env.PORT || 3000
const requestHandler = (req, res) => { res.statusCode = 200 res.setHeader("Content-Type", "text/plain") res.end("Hello World") }
const server = http.createServer(requestHandler)
server.listen(port, host, (err) => { if (err) { return console.log("something bad happened", err) }
console.log(`server is listening on ${host}:${port}`) })
|
Part 2. ContentType: JSON
1 2 3 4 5
| const requestHandler = (req, res) => { res.statusCode = 200 res.setHeader("Content-Type", "application/json") res.end(JSON.stringify({ message: "Hello World" })) }
|
JSON 返回意味着有一个 Content-Type
Header 和对应的 JSON 文本 body
Part 3. Router
1 2 3 4 5 6 7 8 9 10 11 12 13
| const requestHandler = (req, res) => { res.statusCode = 200 switch (req.url) { case "/json": { jsonHandler(req, res) break } default: { defaultHandler(req, res) break } } }
|
可以通过 req.url
判定来源 url 以此提供路由功能