NVM控制node版本,win10下文件夹在
C:\Users\lenovo\AppData\Roaming\nvm
NVM一些基本命令(来自nodejs构建博客项目)
全局依赖可能的路径
注: 大致的 node_module 全局依赖可能的路径如下
1.nvm
2.npm 原始包下的位置:
3.淘宝cnpm镜像源的位置:
全局依赖的安装位置尽量要统一,或使用nvm管理。
nodejs原生http写路由接口
// www.js ./bin/www.js 总闸
const http = require('http')
const serverHandle = require('../app.js')
const server = http.createServer((req, res) => {
serverHandle(req, res)
})
server.listen(8000, () => {
console.log('Server listening at 8000.')
})
module.exports = server
// app.js ./app.js 入口文件 经理
const handleBlogRouter = require('./src/router/blog')
const handleUserRouter = require('./src/router/user')
const serverHandle = (req, res) => {
res.setHeader('Content-Type', 'application/json')
// 处理 blog 路由
const blogData = handleBlogRouter(req, res)
if (blogData) {
res.end(JSON.stringify(blogData))
return
}
// 处理 user 路由
const userData = handleUserRouter(req, res)
if (userData) {
res.end(JSON.stringify(userData))
return
}
// 未命中路由返回404
res.writeHead(404, {"Content-Type": "text/plain"})
res.write("404 Not Found\n")
res.end()
}
module.exports = serverHandle
// user.js ./src/router/user 员工
const handleUserRouter = (req, res) => {
const method = req.method
const url = req.url
const path = url.split('?')[0]
if (method === 'POST' && path === '/api/user/login') {
return {
msg: '用户登录接口'
}
}
}
module.exports = handleUserRouter
当然路由里的url 可以抽到 入口文件app.js
const url = req.url
req.path = url.split('?')[0]
注意setHeader需用大写 res.setHeader(‘Content-Type’, ‘application/json’)
而req.headers内的对象,会被默认转换成小写
mysql的基本语法
注insert into … password是一个关键字 需要包裹反引号 `password`
注:安装mysql8.0.+注意
1、配置环境变量,方便cmd任何位置输入mysql -u root -p 进行登录操作。
2、直接运行mysql.exe可能会一闪而过,建议使用cmd进入目录运行mysql或者环境变量运行都可以。
3、navicat报错 client does not support authentication protocol…
cookie防止js修改做法
redis的基本案例
node单例不用退出
比如mysql 和 redis 在node程序中第一次运行其实启动态。不会进行第二次重连。故,不需退出。