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

最新文章

  1. mysql状态取反(0变1,1变0)
  2. 升级到Xcode8.2.1(Swift 2.3升级到3.0)
  3. 浅析LRU(K-V)缓存
  4. DShow实现一个avi视频的播放(含有个人解释和注释)
  5. log4net将日志进行分类,保存到不同的目录当中
  6. html5+监听设备加速度变化信息
  7. Cocos2d-JS中瓦片地图API
  8. 两种Ajax方法
  9. linux部署mongodb及基本操作
  10. 获取系统的IP
  11. hdu4334 Trouble 合并集合可以降低复杂度阿啦啦
  12. POJ - 2336 Wireless Network
  13. 【Android Developers Training】 54. 打印自定义文档
  14. JAVAWEB开发环境搭建,附JDK开发环境一键配置批处理bat
  15. JavaScript使用点滴
  16. CentOS6.8虚拟机安装及ORALCE安装记录
  17. JS脚本获取URL参数并调用
  18. hexo从零开始
  19. Codeplex最流行25个开源项目
  20. JQuery EasyUI Layout 在from布局自适应窗口大小

热门文章

  1. 测试String——StringBuffer——StringBulider的速度
  2. 配置kubernetes.client的参数遇到的坑
  3. MySQL课下作业
  4. git reset --hard 操作后的数据恢复
  5. nginx调优buffer参数设置
  6. NIO组件之channel
  7. maven scope provided和runtime的例子
  8. Java课堂疑问解答与思考5
  9. 应用安全 - Web框架 - Apache Flink - 漏洞汇总
  10. python调用java所有代码都要放在jvm开启的时候调用,否则报错: No matching overloads found for in find. at native\common\jp_method.cpp:127