现在作为一个前端开发人员,越来越多的技术需要学习,近几天学习了下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') } }) });
- 这里仅供大家学习最基本的服务怎么写,存在着非常多的问题!在之后的博客中,在给大家叙述具体的业务中怎么来模块化的进行,以及应用脚手架来搭建一个简单的后台应用