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

使用node来搭建简单的后台业务的更多相关文章

  1. Koa2+MySQL+VUE+ElementIUI搭建简单的后台管理小系统

    如题,前端入坑许久,还是写个小东西出来吧 想要搭建自己的一个后台管理,实现简单的增删改查,看起来很简单 其实是真的简单,没有想的那么难,我也就写了一个月吧, 当然是假的,其实也就每天一两个小时,花了大 ...

  2. node.js搭建简单的websocket

    1.首先在官网http://www.nodejs.org/下载NODE.JS 2.打开命令行CMD,进入NODEJS\node_modules\的目录,输入npm install socket.io  ...

  3. iOS 使用node js 搭建简单的本地服务器

    一.前提:基于iOS 项目 调用,使用了第三方框架NodeMobile.技术说明关键是 应用生命整个周期只能在应用启动时候开辟的一个线程里申请 一个 node  js 资源.如果终止了运行,重启是不支 ...

  4. vue2.0+element+node+webpack搭建的一个简单的后台管理界面

    闲聊: 今天是六一儿童节哟,小颖祝大家节日快乐哈哈哈.其实这个demo小颖断断续续做了将近两个礼拜了,心塞的,其实这个也没有多难,主要是小颖有点最近事情有点多,所以就把这个一直拖着,今天好不容易做好了 ...

  5. 玩转Node.js(四)-搭建简单的聊天室

    玩转Node.js(四)-搭建简单的聊天室 Nodejs好久没有跟进了,最近想用它搞一个聊天室,然后便偶遇了socket.io这个东东,说是可以用它来简单的实现实时双向的基于事件的通讯机制.我便看了一 ...

  6. Node安装及搭建简单服务器

    注:本文安装系统为mac,windows及其他系统下载对应安装包 ,mac下载后的安装包为apk文件,windows为msi文件. 安装 1.在网上下载node安装包,官方网站2.双击下载文件,按步骤 ...

  7. Asp.NetMVC利用LigerUI搭建一个简单的后台管理详解(函登录验证)

    上一篇 Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页  了解了LigerUI 中Grid的基本用法  现在结合上一篇的内容做一个简单的后台管理,当然也有前台的页面 ...

  8. 使用Django快速搭建简单的数据管理后台

    使用Django快速搭建简单的数据管理后台 概述 需求描述: 数据表已建好,能可视化操作增删改查,避免直接操作数据库 简版的管理系统 环境 Windows 10 x64 Python 3.6.3 (A ...

  9. Node安装及搭建简单HTTP服务器

    注:本文安装系统为mac,windows及其他系统下载对应安装包 ,mac下载后的安装包为apk文件,windows为msi文件. 安装 1.在网上下载node安装包,官方网站2.双击下载文件,按步骤 ...

随机推荐

  1. vscode中让html中php代码高亮

    找到设置中的文件设置中的files.associations,增加以下内容(注意一下内容要放在右侧的用户设置中,而不是放在中间的默认设置中): { // Configure file associat ...

  2. 实现Runable接口

    步骤 定义一个实现Runable接口的类,在类中实现run()方法(线程执行事件的方法).创建一个上述类的对象:Thread t=new Thread(new MyThreadt.start());调 ...

  3. POJ 1625 Censored ( Trie图 && DP && 高精度 )

    题意 : 给出 n 个单词组成的字符集 以及 p 个非法串,问你用字符集里面的单词构造长度为 m 的单词的方案数有多少种? 分析 :先构造出 Trie 图方便进行状态转移,这与在 POJ 2278 中 ...

  4. "error" : "Content-Type header [application/x-www-form-urlencoded] is not supported"

    https://blog.csdn.net/weixin_40161254/article/details/86000839 Es Head https://www.cnblogs.com/afeig ...

  5. 使用foreach进行批量更新

    public void addEmps(@Param("emps")List<Employee> emps); 2映射文件配置 <!-- 批量保存 --> ...

  6. DAY 1模拟赛

    DAY1 杨溢鑫小姐姐出题 好毒瘤啊 T1 低仿机器人 (robo,1s,64M) 题目描述 自从 Dji 推出 robomaster S1 机器人过后,小文就一直缠着爸爸想要一个机器人.没想到爸爸最 ...

  7. Python实现人脸识别

    识别图片 #coding=utf-8 import requests,cv2 import re import os import bs4 #2.读取图片 filename = 'E:/Python/ ...

  8. leetcode 234 回文链表 Palindrome Linked List

    要求用O(n)时间,和O(1)空间,因此思路是用本身链表进行判断,既然考虑回文,本方法思想是先遍历一次求链表长度,然后翻转前半部分链表:然后同时对前半部分链表和后半部分链表遍历,来判断对应节点的值是否 ...

  9. 测开之路一百三十八:会话管理之session

    session管理和使用,需要用到flask的session模块和设置安全码:app.secret_key 比如列表页和编辑功能只能给admin用 列表页 编辑页 添加session 登录成功时,把u ...

  10. LoadRunner之关联

    一.什么是关联 关联就是将服务器动态返回变化的值保存为一个参数以供后面需要用到的地方使用. 二.什么时候需要关联 1.服务器返回中存在动态变化的值,一般是类似session.token这样的无规则数据 ...