node搭建后臺的實現(xiàn)步驟
1.首先安裝node,express,express-generator (4.x版本把generator分離出來了所以需要單獨安裝)
npm i express express-generator -g
2.進入項目文件輸入命令 express 項目名 , npm i 安裝響應(yīng)的包,那么簡易的后端框架就給你搭好了,默認端口是3000 在bin下面的www修改

我一般習(xí)慣于改寫app.js然后把bin文件刪了,因為越簡潔越好改寫app
var http=require('http')
var server=http.createServer(app)
//省略中間 然后在最后的導(dǎo)出app刪除 直接監(jiān)聽
server.listen('3030',()=>{console.log('服務(wù)器啟動成功');})最后修改package.json,由于每個人的習(xí)慣我習(xí)慣啟用用dev 啟動在腳本scripts修改
"scripts": {
"dev": "nodemon ./app.js"
},注意這里我安裝了nodemon 使用的是熱模塊替換 也就是實時刷新
3.安裝數(shù)據(jù)庫mysql
npm i mysql -D

var mysql = require('mysql')
var conPool = mysql.createPool({
host: '127.0.0.1',
port: 3306,
user: 'root',
password: "123456",
database: 'yg',
connectionLimit: 10,
queueLimit: 10,
multipleStatements: true
})
module.exports = function exec(sql, params, callBack) {
console.log(111);
conPool.getConnection((err, coon) => {
if (err) {
console.log('鏈接失敗');
return
} else {
coon.query(sql, params, callBack)
coon.release()
}
})
}然后就是在index中測試

詳細的數(shù)據(jù)庫操作就不說了
4.下面進行路由的二次封裝
首先在外面創(chuàng)建一個路由請求的文件app/index.js
//這是處理執(zhí)行數(shù)據(jù)庫語句的
const exec = require('../unil/db')
/* GET home page. */
init=(req,res)=>{
exec('select * from goods_type_info where 1=1', [], (err, result) => {
if (err) {
console.log('服務(wù)鏈接出錯');
} else {
res.send({code:200000,data:result})
}
})
}
module.exports = {init};
//然后在需要的文件中調(diào)用就行
let getDate=require('../app/index')
/* GET home page. */
router.get('/',getDate.init);//這是哪個路由執(zhí)行哪條語句 這是處理路由的 第一個是路由 第二個是路由執(zhí)行的方法 如果路由是嵌套的則需要拼接這里面的分類可以在細一點 比如哪個頁面用到的那些路由統(tǒng)統(tǒng)分離然后統(tǒng)一導(dǎo)入另外expres快速創(chuàng)建的模板是不需要導(dǎo)入 body-parser 的第一個是因為被棄用了,第二個是因為他用了 app.use(express.json());app.use(express.urlencoded({ extended: false })); 代替了

在這里前端記得發(fā)起的請求頭是這種格式 不然在后端接收的數(shù)據(jù)格式有問題 不同的格式有不同的寫法 ,詳細的百度 Content-Type
app.all('*', function (req, res, next) { //設(shè)置跨域訪問
//設(shè)置允許跨域的域名,*代表允許任意域名跨域
res.header("Access-Control-Allow-Origin", "http://localhost:8000");
//允許的header類型
// res.header("Content-Type", "application/x-www-form-urlencoded");
// 設(shè)置請求頭中允許攜帶的參數(shù)
res.header("Access-Control-Allow-Headers", "Content-Type,request-origin");
// 允許客戶端攜帶證書式訪問。保持跨域請求中的Cookie。注意:此處設(shè)true時,Access-Control-Allow-Origin的值不能為 '*'
res.header("Access-Control-Allow-Credentials", "true");
res.header("Access-control-max-age", 3600);
//跨域允許的請求方式
res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
next();
});這樣就能快速的搭建好一個簡單的后臺框架
在這里我補充一點遇到的問題,就是如果你是本地搭建的,前端開啟必須要寫端口號,不然很容易造成假跨域,造成前端請求,后端保存數(shù)據(jù),在第二次請求的時候拿不到session
到此這篇關(guān)于node搭建后臺的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)node搭建后臺內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu 16.04 64位中搭建Node.js開發(fā)環(huán)境教程
如果想要在Ubuntu 16.04上安裝Node.js的話,這篇文章對你來說肯定很重要。Node.js從本質(zhì)上來說就是一個運行在服務(wù)端上的封裝好了輸入輸出流的javascript程序。本文給大家詳細介紹了在Ubuntu 16.04 64位搭建Node.js開發(fā)環(huán)境的步驟,有需要的朋友們可以參考學(xué)習(xí)。2016-10-10
npm ERR! code ELIFECYCLE錯誤及解決方法
有時候在使用npm運行命令時,可能會遇到錯誤,本文主要介紹了npm ERR! code ELIFECYCLE錯誤及解決方法,具有一定的參考價值,感興趣的可以了解一下2024-05-05
Webpack打包構(gòu)建太慢試試這幾個提升打包速度方案
在大型項目開發(fā)中,Webpack打包速度過慢會嚴重影響開發(fā)效率,本文介紹了幾種優(yōu)化Webpack打包速度的策略,包括減少文件搜索范圍、優(yōu)化Loader緩存、并行處理、減少打包體積、開發(fā)模式優(yōu)化以及插件優(yōu)化等,需要的朋友可以參考下2024-11-11
Nodejs拉取??低曅熊囉涗泝x攝像頭視頻流的實現(xiàn)方法
在市場上??低暤漠a(chǎn)品一直處于領(lǐng)先地位,提供了一系列高質(zhì)量的視頻監(jiān)控解決方案,下面這篇文章主要介紹了Nodejs拉取海康威視行車記錄儀攝像頭視頻流的實現(xiàn)方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2026-02-02
關(guān)于npm install過程失敗的幾種處理方式
這篇文章主要介紹了關(guān)于npm install過程失敗的幾種處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
Node.js 實現(xiàn)遠程桌面監(jiān)控的方法步驟
這篇文章主要介紹了Node.js 實現(xiàn)遠程桌面監(jiān)控的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Nodejs使用exceljs實現(xiàn)excel導(dǎo)入導(dǎo)出
在日常開發(fā)中,我們常需在后臺管理系統(tǒng)中實現(xiàn)數(shù)據(jù)的導(dǎo)入與導(dǎo)出功能,以便與?Excel?文件進行交互,本文將使用使用exceljs實現(xiàn)excel導(dǎo)入導(dǎo)出功能,需要的可以參考下2024-03-03

