使用node來搭建簡單的后台業務


  現在作為一個前端開發人員,越來越多的技術需要學習,近幾天學習了下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')
                    }
                })
            });

     

  • 這里僅供大家學習最基本的服務怎么寫,存在着非常多的問題!在之后的博客中,在給大家敘述具體的業務中怎么來模塊化的進行,以及應用腳手架來搭建一個簡單的后台應用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM