摘要:連接數(shù)據(jù)庫如果不自己創(chuàng)建默認(rèn)數(shù)據(jù)庫會自動生成地址跟第一步的地址對應(yīng)?,F(xiàn)在回過頭來看里面的入口文件最后,我們在瀏覽器輸入,就會跳到。到此為止,我們就完成了整個(gè)前后端各自開發(fā)到正式部署的流程。
一個(gè)完整的網(wǎng)站服務(wù)架構(gòu)包括:
1、web frame ---這里應(yīng)用express框架
2、web server ---這里應(yīng)用nodejs
3、Database ---這里應(yīng)用monggoDB
4、前端展示 ---這里應(yīng)用vue
首先我們要安裝mongoDB(本例應(yīng)用的mongoDB 3.4.7版本) 和 nodejs(本例應(yīng)用的是nodejs v6.10.3) 具體安裝步驟大家可以百度一下,網(wǎng)上安裝示例很多,這里不過多講解,以下我們重點(diǎn)講解網(wǎng)站框架搭建操作。
對應(yīng)以上要點(diǎn)一一作出解釋及具體操作步驟:
第一步:創(chuàng)建mongoDB數(shù)據(jù)庫
1、直接打開mongoDB安裝目錄下binmongod.exe文件,可見如下圖,即為數(shù)據(jù)庫服務(wù)啟動成功
2、瀏覽器輸入localhost:27017顯示如下,證明數(shù)據(jù)庫可用
第二步:生成vue框架
1、全局生成vue框架,輸入指令
npm i -g vue-cli
2、創(chuàng)建自己的文件夾
3、項(xiàng)目初始化
執(zhí)行以下命令,自動創(chuàng)建目錄 E:/workspace/test
一路yes如下
生成目錄結(jié)構(gòu)如下:
執(zhí)行命令,進(jìn)行項(xiàng)目初始化:
cd test
npm install
4、在項(xiàng)目根目錄src/main.js添加代碼
import vueResource from "vue-resource"
Vue.use(vueResource)
如圖所示
5、由于上一步添加代碼vue-resource,這里要引入vue-resource
執(zhí)行命令如圖所示
執(zhí)行后顯示如下,則為正常執(zhí)行
第三步:生成expressm框架
1、執(zhí)行命令npm install express,生成如下
第四步:搭建node服務(wù)器環(huán)境
1、在項(xiàng)目的根目錄新建一個(gè)叫server的目錄,用于放置Node的東西。進(jìn)入server目錄,再新建三個(gè)js文件:
index.js (入口文件)
db.js (設(shè)置數(shù)據(jù)庫相關(guān))
api.js (編寫接口)
index.js文件代碼:
// 引入編寫好的api const api = require("./api"); // 引入文件模塊 const fs = require("fs"); // 引入處理路徑的模塊 const path = require("path"); // 引入處理post數(shù)據(jù)的模塊 const bodyParser = require("body-parser") // 引入Express const express = require("express"); const app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: false})); app.use(api); // 訪問靜態(tài)資源文件 這里是訪問所有dist目錄下的靜態(tài)資源文件 app.use(express.static(path.resolve(__dirname, "../dist"))) // 因?yàn)槭菃雾搼?yīng)用 所有請求都走/dist/index.html app.get("*", function(req, res) { const html = fs.readFileSync(path.resolve(__dirname, "../dist/index.html"), "utf-8") res.send(html) }) // 監(jiān)聽8088端口 app.listen(8088); console.log("success listen…………");
db.js文件代碼:
// Schema、Model、Entity或者Documents的關(guān)系請牢記,Schema生成Model,Model創(chuàng)造Entity,Model和Entity都可對數(shù)據(jù)庫操作造成影響,但Model比Entity更具操作性。 const mongoose = require("mongoose"); // 連接數(shù)據(jù)庫 如果不自己創(chuàng)建 默認(rèn)test數(shù)據(jù)庫會自動生成 mongoose.connect("mongodb://127.0.0.1:27017"); // 地址跟第一步的地址對應(yīng)。 // 為這次連接綁定事件 const db = mongoose.connection; db.once("error",() => console.log("Mongo connection error")); db.once("open",() => console.log("Mongo connection successed")); /************** 定義模式loginSchema **************/ const loginSchema = mongoose.Schema({ account : String, password : String }); /************** 定義模型Model **************/ const Models = { Login : mongoose.model("Login",loginSchema) } module.exports = Models;
api.js文件代碼:
// 可能是我的node版本問題,不用嚴(yán)格模式使用ES6語法會報(bào)錯(cuò) "use strict"; const models = require("./db"); const express = require("express"); const router = express.Router(); /************** 創(chuàng)建(create) 讀取(get) 更新(update) 刪除(delete) **************/ // 創(chuàng)建賬號接口 router.post("/api/login/createAccount",(req,res) => { // 這里的req.body能夠使用就在index.js中引入了const bodyParser = require("body-parser") let newAccount = new models.Login({ account : req.body.account, password : req.body.password }); // 保存數(shù)據(jù)newAccount數(shù)據(jù)進(jìn)mongoDB newAccount.save((err,data) => { if (err) { res.send(err); } else { res.send("createAccount successed"); } }); }); // 獲取已有賬號接口 router.get("/api/login/getAccount",(req,res) => { // 通過模型去查找數(shù)據(jù)庫 models.Login.find((err,data) => { if (err) { res.send(err); } else { res.send(data); } }); }); module.exports = router;
2、對比node_modules目錄缺少body-parser模塊和mongoose模塊,因此要添加這兩個(gè)模塊
執(zhí)行命令:
3、至此我們的后端代碼就編寫好了,進(jìn)入server目錄,敲上 node index命令,node就會跑起來,這時(shí)在瀏覽器輸入http://localhost:8088/api/log...就能訪問到這個(gè)接口了,執(zhí)行命令如下:
4、現(xiàn)在我們的本地開發(fā)環(huán)境的 web server的接口是 index.js 里的8088,但是本地的webpack生成的網(wǎng)頁端口是8080,這兩個(gè)不一致。需要進(jìn)行代理(proxy)在config/index.js 中修改
5、這時(shí),重新啟動項(xiàng)目
我們在前端接口地址前加上/api,就會指向http://localhost:8088/api/,于是我們就能訪問到后端的接口了!
第五步:前后端開發(fā)完成,最后一步,前端打包,后端部署。
1、前端打包就很簡單了,一個(gè)命令:
npm run build 這就生成了一個(gè)dist目錄,里面就是打包出來的東西。
現(xiàn)在回過頭來看server里面的入口文件index.js
最后,我們在瀏覽器輸入http://localhost:8088/,就會跳到index.html。
到此為止,我們就完成了整個(gè)前后端各自開發(fā)到正式部署的流程。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/88382.html
摘要:搭建后臺的全過程近期基于搭建前端項(xiàng)目,搭建后臺,遇到了不少問題,總結(jié)博客如下,有什么不正確的地方,請大家批評指正是非關(guān)系型數(shù)據(jù)庫。是用來啟動的,是的命令行客戶端。 Node + mongoDB 搭建后臺的全過程 近期基于 vue-cil 搭建前端項(xiàng)目, express + mongoose 搭建后臺,遇到了不少問題,總結(jié)博客如下,有什么不正確的地方,請大家批評指正^?_?^! mong...
摘要:本項(xiàng)目持續(xù)更新中,開源免費(fèi)與各位愛好技術(shù)達(dá)人共勉,注現(xiàn)階段仍在開發(fā)中。。。。。 NodeJS+Express+MongoDb開發(fā)的個(gè)人博客 NodeJS+Express搭建個(gè)人博客-環(huán)境搭建(一)NodeJS+Express搭建個(gè)人博客-gulp自動化構(gòu)建工具使用(二)NodeJS+Express搭建個(gè)人博客-Express+Mongodb組合架構(gòu)介紹(三)NodeJS+Express...
摘要:后端主要使用的框架,數(shù)據(jù)庫采用。后臺管理登錄采用與后端進(jìn)行登陸狀態(tài)的確認(rèn)。本文首發(fā)于小站,這是一個(gè)積累和分享知識的個(gè)人博客 這篇文章擱置了很長時(shí)間,最終決定還是把它寫出來,給剛開始學(xué)習(xí)vue并且想用vue寫個(gè)人博客的同學(xué)一個(gè)參考。因?yàn)楫?dāng)初我也是參考了其他人分享的知識,從一個(gè)vue小白變成了一個(gè)入門級選手,并最終完成了這個(gè)個(gè)人博客的搭建工作,代碼已托管在Github-justJokee。...
閱讀 1664·2019-08-30 13:04
閱讀 2217·2019-08-30 12:59
閱讀 1777·2019-08-29 18:34
閱讀 1874·2019-08-29 17:31
閱讀 1266·2019-08-29 15:42
閱讀 3545·2019-08-29 15:37
閱讀 2866·2019-08-29 13:45
閱讀 2780·2019-08-26 13:57