node搭建后臺的實現(xiàn)步驟
1.首先安裝node,express,express-generator (4.x版本把generator分離出來了所以需要單獨安裝)
npm i express express-generator -g
2.進入項目文件輸入命令 express 項目名
, npm i
安裝響應的包,那么簡易的后端框架就給你搭好了,默認端口是3000 在bin下面的www修改
我一般習慣于改寫app.js然后把bin文件刪了,因為越簡潔越好改寫app
var http=require('http') var server=http.createServer(app) //省略中間 然后在最后的導出app刪除 直接監(jiān)聽 server.listen('3030',()=>{console.log('服務器啟動成功');})
最后修改package.json,由于每個人的習慣我習慣啟用用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('服務鏈接出錯'); } else { res.send({code:200000,data:result}) } }) } module.exports = {init}; //然后在需要的文件中調用就行 let getDate=require('../app/index') /* GET home page. */ router.get('/',getDate.init);//這是哪個路由執(zhí)行哪條語句 這是處理路由的 第一個是路由 第二個是路由執(zhí)行的方法 如果路由是嵌套的則需要拼接
這里面的分類可以在細一點 比如哪個頁面用到的那些路由統(tǒng)統(tǒng)分離然后統(tǒng)一導入另外expres快速創(chuàng)建的模板是不需要導入 body-parser
的第一個是因為被棄用了,第二個是因為他用了 app.use(express.json());app.use(express.urlencoded({ extended: false }));
代替了
在這里前端記得發(fā)起的請求頭是這種格式 不然在后端接收的數(shù)據(jù)格式有問題 不同的格式有不同的寫法 ,詳細的百度 Content-Type
app.all('*', function (req, res, next) { //設置跨域訪問 //設置允許跨域的域名,*代表允許任意域名跨域 res.header("Access-Control-Allow-Origin", "http://localhost:8000"); //允許的header類型 // res.header("Content-Type", "application/x-www-form-urlencoded"); // 設置請求頭中允許攜帶的參數(shù) res.header("Access-Control-Allow-Headers", "Content-Type,request-origin"); // 允許客戶端攜帶證書式訪問。保持跨域請求中的Cookie。注意:此處設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
到此這篇關于node搭建后臺的實現(xiàn)步驟的文章就介紹到這了,更多相關node搭建后臺內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Node.js中readline模塊實現(xiàn)終端輸入
本文主要介紹了Node.js中readline模塊實現(xiàn)終端輸入,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02Node.js + express實現(xiàn)上傳大文件的方法分析【圖片、文本文件】
這篇文章主要介紹了Node.js + express實現(xiàn)上傳大文件的方法,結合實例形式分析了Node.js + express針對圖片、文本文件上傳操作實現(xiàn)方法及相關操作注意事項,需要的朋友可以參考下2019-03-03node.js項目如何創(chuàng)建websocket模塊
這篇文章主要介紹了node.js項目如何創(chuàng)建websocket模塊問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-09-09