使用node来搭建简单的后台业务
生活随笔
收集整理的這篇文章主要介紹了
使用node来搭建简单的后台业务
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
現(xiàn)在作為一個前端開發(fā)人員,越來越多的技術(shù)需要學(xué)習(xí),近幾天學(xué)習(xí)了下node.js,在很多前端以及后端應(yīng)用了該技術(shù),現(xiàn)在記錄下自己摸索的一些簡單的知識記錄下來。
我的博客都是直接分享應(yīng)用方法,沒有說明一些底層原理和具體的細(xì)節(jié),畢竟低端程序員,相信很多剛?cè)胄械男』锇?#xff0c;也是急于完成任務(wù),學(xué)會他的使用方法即可。在這里我就不敘述node的基本的下包登方法了,這里就當(dāng)你們都已經(jīng)下載node.js(新版的node包含了npm),安裝了淘寶鏡像。
- 下載express,這里我們使用express來搭建服務(wù),結(jié)合數(shù)據(jù)庫來完成完整的前后端業(yè)務(wù),如果你喜歡原生的方法,可以自行百度或者看官方文檔
- cnpm i express -g
cnpm i mysql --save -dev
cnpm i body-parser --save -dev?
- 為了方便大家進(jìn)行理解,在這里我就不把文件進(jìn)行分開,采用中間件的形式來編寫了,新建一個文件作為啟動的入口文件,這里我設(shè)置為app.js
- var express = require('express'); //引入express
var app = express(); //注冊成app(這里我們也可以應(yīng)用路由中間件 var router = express.Router(),接著在寫接口時,將app替換為router)
var bodyParser = require('body-parser'); //引入插件包,解決post請求參數(shù)問題
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true
}));
var mysql = require('mysql'); //引入數(shù)據(jù)庫插件包
var connection = mysql.createConnection({ //填寫數(shù)據(jù)庫的信息host: 'localhost', //域名user: 'root', //用戶password: '', //密碼database: 'node_test', //數(shù)據(jù)庫的名稱
});connection.connect(); //連接數(shù)據(jù)庫(在這里的操作和php類似,學(xué)過php的朋友應(yīng)該很簡單)//設(shè)置跨域訪問
app.all('*', function (req, res, next) { //設(shè)置全局的全域問題,我這里是把所有的全部允許了,如果不怕麻煩或者業(yè)務(wù)需求,你也可以在請求里面寫對應(yīng)的跨域問題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" //寫對應(yīng)的你需要操作的sql語句,無外乎就是增刪查改這些,當(dāng)然復(fù)雜點的可能還有多表聯(lián)查登,可以查看mysql數(shù)據(jù)庫的知識學(xué)習(xí)connection.query(sql, function (error, result, fields) { //執(zhí)行mysql語句,訪問數(shù)據(jù)庫res.send(result)//將結(jié)果返回(這里的數(shù)據(jù)我們可以進(jìn)行響應(yīng)的判斷和包裝返回給前端,以便于前端業(yè)務(wù)的進(jìn)行,當(dāng)然req,res對應(yīng)著許多的方法,也不一一敘述了)})
});//新增接口
app.post('/addWeblist', function (req, res) {var addSql = 'insert into webList(id,name,url,del) VALUES(0,?,?,?)'; //這里是一個新增的sql語句,應(yīng)用一定的參數(shù)用法,具體看文檔解決var addSqlParams = [`${req.body.name}`, `${req.body.url}`, 1]; //post的請求,我們通過req.body來獲取到他的具體傳遞的參數(shù)connection.query(addSql, addSqlParams, function (error, result, fields) {res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8' //可以設(shè)置響應(yīng)的狀態(tài),格式等,根據(jù)需求來設(shè)置});res.send(result)})
});//配置服務(wù)端口
app.listen(3000) //監(jiān)聽服務(wù)端口
?
- 接下來我們可以在前端訪問我們的接口,需要填寫完整的域名和端口,并啟動我們的弄得后臺服務(wù)
- 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')}})});
?
- 這里僅供大家學(xué)習(xí)最基本的服務(wù)怎么寫,存在著非常多的問題!在之后的博客中,在給大家敘述具體的業(yè)務(wù)中怎么來模塊化的進(jìn)行,以及應(yīng)用腳手架來搭建一個簡單的后臺應(yīng)用
轉(zhuǎn)載于:https://www.cnblogs.com/xieyong25/p/9596832.html
總結(jié)
以上是生活随笔為你收集整理的使用node来搭建简单的后台业务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统文件和目录管理
- 下一篇: 计算机网络简单理解