使用node来搭建简单的后台业务
2024-10-07 08:44:17
现在作为一个前端开发人员,越来越多的技术需要学习,近几天学习了下node.js,在很多前端以及后端应用了该技术,现在记录下自己摸索的一些简单的知识记录下来。
我的博客都是直接分享应用方法,没有说明一些底层原理和具体的细节,毕竟低端程序员,相信很多刚入行的小伙伴,也是急于完成任务,学会他的使用方法即可。在这里我就不叙述node的基本的下包登方法了,这里就当你们都已经下载node.js(新版的node包含了npm),安装了淘宝镜像。
- 下载express,这里我们使用express来搭建服务,结合数据库来完成完整的前后端业务,如果你喜欢原生的方法,可以自行百度或者看官方文档
cnpm i express -g
cnpm i mysql --save -dev
cnpm i body-parser --save -dev- 为了方便大家进行理解,在这里我就不把文件进行分开,采用中间件的形式来编写了,新建一个文件作为启动的入口文件,这里我设置为app.js
var express = require('express'); //引入express
var app = express(); //注册成app(这里我们也可以应用路由中间件 var router = express.Router(),接着在写接口时,将app替换为router)
var bodyParser = require('body-parser'); //引入插件包,解决post请求参数问题
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
var mysql = require('mysql'); //引入数据库插件包
var connection = mysql.createConnection({ //填写数据库的信息
host: 'localhost', //域名
user: 'root', //用户
password: '', //密码
database: 'node_test', //数据库的名称
}); connection.connect(); //连接数据库(在这里的操作和php类似,学过php的朋友应该很简单) //设置跨域访问
app.all('*', function (req, res, next) { //设置全局的全域问题,我这里是把所有的全部允许了,如果不怕麻烦或者业务需求,你也可以在请求里面写对应的跨域问题
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1');
res.header("Content-Type", "application/json;charset=utf-8");
next();
}); //查询接口
app.get('/weblist', function (req, res) {
var sql = "select * from webList" //写对应的你需要操作的sql语句,无外乎就是增删查改这些,当然复杂点的可能还有多表联查登,可以查看mysql数据库的知识学习
connection.query(sql, function (error, result, fields) { //执行mysql语句,访问数据库
res.send(result)//将结果返回(这里的数据我们可以进行响应的判断和包装返回给前端,以便于前端业务的进行,当然req,res对应着许多的方法,也不一一叙述了)
})
}); //新增接口
app.post('/addWeblist', function (req, res) {
var addSql = 'insert into webList(id,name,url,del) VALUES(0,?,?,?)'; //这里是一个新增的sql语句,应用一定的参数用法,具体看文档解决
var addSqlParams = [`${req.body.name}`, `${req.body.url}`, 1]; //post的请求,我们通过req.body来获取到他的具体传递的参数
connection.query(addSql, addSqlParams, function (error, result, fields) {
res.writeHead(200, {
'Content-Type': 'text/plain; charset=utf-8' //可以设置响应的状态,格式等,根据需求来设置
});
res.send(result)
})
}); //配置服务端口
app.listen(3000) //监听服务端口- 接下来我们可以在前端访问我们的接口,需要填写完整的域名和端口,并启动我们的弄得后台服务
node app.js //启动后台node
- 这里以jq的ajax请求为例子
$('#btn').click(function () {
var name = $('#name').val();
var url = $('#url').val();
$.ajax({
type: 'post',
url:'http://localhost:3000/addWeblist',
data:{
name,url
},
success:function(data){ },
error:function(){
console.log('error')
}
})
});- 这里仅供大家学习最基本的服务怎么写,存在着非常多的问题!在之后的博客中,在给大家叙述具体的业务中怎么来模块化的进行,以及应用脚手架来搭建一个简单的后台应用
最新文章
- mysql状态取反(0变1,1变0)
- 升级到Xcode8.2.1(Swift 2.3升级到3.0)
- 浅析LRU(K-V)缓存
- DShow实现一个avi视频的播放(含有个人解释和注释)
- log4net将日志进行分类,保存到不同的目录当中
- html5+监听设备加速度变化信息
- Cocos2d-JS中瓦片地图API
- 两种Ajax方法
- linux部署mongodb及基本操作
- 获取系统的IP
- hdu4334 Trouble 合并集合可以降低复杂度阿啦啦
- POJ - 2336 Wireless Network
- 【Android Developers Training】 54. 打印自定义文档
- JAVAWEB开发环境搭建,附JDK开发环境一键配置批处理bat
- JavaScript使用点滴
- CentOS6.8虚拟机安装及ORALCE安装记录
- JS脚本获取URL参数并调用
- hexo从零开始
- Codeplex最流行25个开源项目
- JQuery EasyUI Layout 在from布局自适应窗口大小
热门文章
- 测试String——StringBuffer——StringBulider的速度
- 配置kubernetes.client的参数遇到的坑
- MySQL课下作业
- git reset --hard 操作后的数据恢复
- nginx调优buffer参数设置
- NIO组件之channel
- maven scope provided和runtime的例子
- Java课堂疑问解答与思考5
- 应用安全 - Web框架 - Apache Flink - 漏洞汇总
- python调用java所有代码都要放在jvm开启的时候调用,否则报错: No matching overloads found for in find. at native\common\jp_method.cpp:127