一、’process
① process.env 获取环境变量 是一个对象
② process.argv 获取命令行输入 是一个数组
express 配 MongoDB
koa 配 MySQL
二、 http
请求第一弹
const http = require('http');
let server = http.createServer();
server.on("request", (req, res) => {
res.end('*99999999999');
})
server.listen(8888, () => {
console.log("服务器已经启动...");
})
注释
/* req */
1. req.url 请求地址
2. req.headrr 请求头
3. req.method 请求方法
4. 请求体
req.on('data', (data) => {
console.log(data)
})
/* res */
res.setHeader('a', 'b') // 多次写头
res.writeHead(200, {'content': 'text/html;charset=utf-8'}) //一次写头
res.write("aaaaa") // 多次写体
res.end('最终写体')
连续不间断的发送 需要设置请求头为
res.writeHead(200, {'content-type': 'application/octet-stream'}) //octet 代表8位
并且用res.write()
服务端渲染
插件:art-template 和 express-art-template (是express和art-template的中间件)
安装指令:
cnpm i express art-template express-art-template -S
用法:
const express = require('express');
let app = express();
let router = express.Router();
app.use(router)
app.listen(8888)
app.engine('.html', require('express-art-template'))
app.set('view engine', '.html')
app.set('view options', {
debug: process.env.NODE_ENV !== 'production',
imports: {
num: 11,
message: "在imports中写数据"
}
})
router.get("/login", (req, res) => {
// index.html 是当前文件夹 views 下的 index.html
res.render('index.html', {data: "放渲染数据"})
})
html写法
<ul>
{{ each data }}
<li>{{ $value.name }}</li>
{{ /each }}
</ul>