篇一:连接mysql,常用的增删改查操作
1、数据的连接
- 在node中连接mysql数据库需要安装一个第三方插件包
- 运行命令:
npm i mysql -S
,等待完成即可
- 运行命令:
- 可以下载一个phpStudy模拟mysql的服务,打开mysql客户端,建表,然后创建http服务,连接数据库
- 导入mysql模块,通过createConnection连接数据库
1 | javascript复制代码//导入mysql模块 |
2、数据的增删改查,node中的sql语句和别的语言的sql语句可能个别的地方会不用不同,我们使用的时候一定要多查文档
- 查询语句
- select查询
select * from users
*代表全查,users是被查询的创建的表名
- select查询
1 | javascript复制代码// 直接调用conn.query(`要执行的sql语句`,(err,resule)=>{}方法执行sql语句就行) |
- 新增语句
- insert插入
insert into users set?
insert是插入,users是被操作的表,?是一个占位符,执行语句的时候需要插入的数据就会替代 ?
- insert插入
1 | javascript复制代码// 新增 |
- 修改语句
- update更新
update users set ? where id=?
在node中只要是需要查询或者替换的地方都要使用?代替 where 后面紧跟查询条件
- update更新
1 | javascript复制代码// 修改 |
- 删除语句
- delete删除
delete from users where id=?
delete删除,users是被操作的表,?被删除的id值
- delete删除
1 | javascript复制代码// 删除 |
篇二:模块的加载机制
- 优先从缓存中加载
- 当一个模块初次被 require 的时候,会执行模块中的代码,当第二次加载相同模块的时候,会优先从缓存中查找,看有没有这样的一个模块!
- 好处:提高模块的加载速度;不需要每次都重新执行并加载模块!
- 核心模块的加载机制
- 先查找缓存;如果缓存中没有,再去加载核心模块;
- 用户模块的加载机制
- 先查找缓存;
- 如果缓存中没有则尝试加载用户模块;
- 如果在加载用户模块时候省略了后缀名,则:
- 首先,严格按照指定的名称去查找
- 其次,尝试加载后缀名是 .js 的文件
- 如果没有.js的文件,则尝试加载 .json 结尾的文件
- 如果没有 .json 的文件,则尝试加载 .node 结尾的文件
- 查找规则:index -> index.js -> index.json -> index.node
- 第三方模块的加载机制
- 先在项目根目录中查找node_modules文件夹
- 在node_modules文件夹下,查找模块相关的文件夹
- 在对应的文件夹下,查找package.json的文件
- 查找package.json文件中的main属性(指定了模块的入口文件)
- 如果找到了main属性,同时,main属性指定的文件路径存在,那么尝试加载指定的文件模块
- 加入没有main属性,或者main属性对应的文件不存在,或者没有package.json,那么会依次尝试加载index.js,index.json,index.node;
- 如果没有index相关的文件,或者没有指定模块对应文件夹,或者,当前项目根目录中没有node_modules文件夹,则向上一层目录中查找node_modules,查找规则同上!
- 最后,如果在项目所在磁盘的盘符根目录中,还找不到对应模块,则报错:cannot find module ***
篇三:express中获取参数的几种形式
- 获取
?id=10&name=zs
中的查询参数:- 直接使用
req.query
获取参数即可; - 注意:URL 地址栏中通过 查询字符串 传递的参数,express 框架会直接解析,大家只需要使用
req.query
直接获取 URL 中 查询字符串的参数;
- 直接使用
- 从URL地址中获取路径参数:
- 假设后台的路由是
app.get('/user/:id/:name', (req, res) => {})
- 假设客户端浏览器请求的URL地址为:
http://127.0.0.1:3001/user/10/zs
- 直接使用
req.params
可以获取URL地址中传递过来的参数;
- 假设后台的路由是
- 从post表单中获取提交的数据:
- 借助于
body-parser
来解析表单数据 - 安装:
npm i body-parser -S
- 导入:
const bodyParser = require('body-parser')
- 注册中间件:
app.use(bodyParser.urlencoded({ extended: false }))
- 使用解析的数据:
req.body
来访问解析出来的数据
- 借助于
篇四:实现前后端分离项目跨域的解决
- 前端和后端运行的端口号不同造成跨域
- jsonp和COR可以很好的解决跨域问题
- jsonp: 动态创建script标签;
- JSONP发送的不是Ajax请求
- 不支持 Post 请求;
- CORS中文意思是跨域资源共享 ,需要服务器端进行 CORS 配置;
- CORS 发送的是真正的Ajax请求
- CORS 支持Ajax的跨域
- 如果要启用 CORS 跨域资源共享,关键在于 服务器端,只要 服务器支持CORS跨域资源共享,则 浏览器肯定能够正常访问 这种 CORS 接口;而且,客户端在 发送 Ajax的时候,就像发送普通AJax一样,没有任何代码上的变化;
- 对于Node来说,如果想要开启 CORS 跨域通信,只需要安装cors的模块即可;
- jsonp: 动态创建script标签;
- jsonp和COR可以很好的解决跨域问题
1 | php复制代码//解决跨域 |
本文转载自: 掘金