国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MEVN 架構(gòu)(MongoDB + Express + Vue + NODEJS)搭建

Lsnsh / 2778人閱讀

摘要:連接數(shù)據(jù)庫(kù)如果不自己創(chuàng)建默認(rèn)數(shù)據(jù)庫(kù)會(huì)自動(dòng)生成地址跟第一步的地址對(duì)應(yīng)。現(xiàn)在回過(guò)頭來(lái)看里面的入口文件最后,我們?cè)跒g覽器輸入,就會(huì)跳到。到此為止,我們就完成了整個(gè)前后端各自開(kāi)發(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)上安裝示例很多,這里不過(guò)多講解,以下我們重點(diǎn)講解網(wǎng)站框架搭建操作。

對(duì)應(yīng)以上要點(diǎn)一一作出解釋及具體操作步驟:
第一步:創(chuàng)建mongoDB數(shù)據(jù)庫(kù)
1、直接打開(kāi)mongoDB安裝目錄下binmongod.exe文件,可見(jiàn)如下圖,即為數(shù)據(jù)庫(kù)服務(wù)啟動(dòng)成功

2、瀏覽器輸入localhost:27017顯示如下,證明數(shù)據(jù)庫(kù)可用

第二步:生成vue框架
1、全局生成vue框架,輸入指令
npm i -g vue-cli

2、創(chuàng)建自己的文件夾

3、項(xiàng)目初始化
執(zhí)行以下命令,自動(dòng)創(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ù)庫(kù)相關(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);
// 訪問(wèn)靜態(tài)資源文件 這里是訪問(wèn)所有dist目錄下的靜態(tài)資源文件
app.use(express.static(path.resolve(__dirname, "../dist")))
// 因?yàn)槭菃雾?yè)應(yīng)用 所有請(qǐ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)聽(tīng)8088端口
app.listen(8088);
console.log("success listen…………");

db.js文件代碼:

// Schema、Model、Entity或者Documents的關(guān)系請(qǐng)牢記,Schema生成Model,Model創(chuàng)造Entity,Model和Entity都可對(duì)數(shù)據(jù)庫(kù)操作造成影響,但Model比Entity更具操作性。
const mongoose = require("mongoose");
// 連接數(shù)據(jù)庫(kù) 如果不自己創(chuàng)建 默認(rèn)test數(shù)據(jù)庫(kù)會(huì)自動(dòng)生成
mongoose.connect("mongodb://127.0.0.1:27017"); // 地址跟第一步的地址對(duì)應(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版本問(wèn)題,不用嚴(yán)格模式使用ES6語(yǔ)法會(huì)報(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)建賬號(hào)接口
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");
        }
    });
});
// 獲取已有賬號(hào)接口
router.get("/api/login/getAccount",(req,res) => {
    // 通過(guò)模型去查找數(shù)據(jù)庫(kù)
    models.Login.find((err,data) => {
        if (err) {
            res.send(err);
        } else {
            res.send(data);
        }
    });
});

module.exports = router;

2、對(duì)比node_modules目錄缺少body-parser模塊和mongoose模塊,因此要添加這兩個(gè)模塊
執(zhí)行命令:

3、至此我們的后端代碼就編寫好了,進(jìn)入server目錄,敲上 node index命令,node就會(huì)跑起來(lái),這時(shí)在瀏覽器輸入http://localhost:8088/api/log...就能訪問(wèn)到這個(gè)接口了,執(zhí)行命令如下:

4、現(xiàn)在我們的本地開(kāi)發(fā)環(huán)境的 web server的接口是 index.js 里的8088,但是本地的webpack生成的網(wǎng)頁(yè)端口是8080,這兩個(gè)不一致。需要進(jìn)行代理(proxy)在config/index.js 中修改

5、這時(shí),重新啟動(dòng)項(xiàng)目

我們?cè)谇岸私涌诘刂非凹由?api,就會(huì)指向http://localhost:8088/api/,于是我們就能訪問(wèn)到后端的接口了!

第五步:前后端開(kāi)發(fā)完成,最后一步,前端打包,后端部署。
1、前端打包就很簡(jiǎn)單了,一個(gè)命令:
npm run build 這就生成了一個(gè)dist目錄,里面就是打包出來(lái)的東西。
現(xiàn)在回過(guò)頭來(lái)看server里面的入口文件index.js

最后,我們?cè)跒g覽器輸入http://localhost:8088/,就會(huì)跳到index.html。

到此為止,我們就完成了整個(gè)前后端各自開(kāi)發(fā)到正式部署的流程。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/88382.html

相關(guān)文章

  • Node +MongoDB 搭建后臺(tái)的全過(guò)程

    摘要:搭建后臺(tái)的全過(guò)程近期基于搭建前端項(xiàng)目,搭建后臺(tái),遇到了不少問(wèn)題,總結(jié)博客如下,有什么不正確的地方,請(qǐng)大家批評(píng)指正是非關(guān)系型數(shù)據(jù)庫(kù)。是用來(lái)啟動(dòng)的,是的命令行客戶端。 Node + mongoDB 搭建后臺(tái)的全過(guò)程 近期基于 vue-cil 搭建前端項(xiàng)目, express + mongoose 搭建后臺(tái),遇到了不少問(wèn)題,總結(jié)博客如下,有什么不正確的地方,請(qǐng)大家批評(píng)指正^?_?^! mong...

    voidking 評(píng)論0 收藏0
  • NodeJS+Express搭建個(gè)人博客-環(huán)境搭建(一)

    摘要:本項(xiàng)目持續(xù)更新中,開(kāi)源免費(fèi)與各位愛(ài)好技術(shù)達(dá)人共勉,注現(xiàn)階段仍在開(kāi)發(fā)中。。。。。 NodeJS+Express+MongoDb開(kāi)發(fā)的個(gè)人博客 NodeJS+Express搭建個(gè)人博客-環(huán)境搭建(一)NodeJS+Express搭建個(gè)人博客-gulp自動(dòng)化構(gòu)建工具使用(二)NodeJS+Express搭建個(gè)人博客-Express+Mongodb組合架構(gòu)介紹(三)NodeJS+Express...

    Clect 評(píng)論0 收藏0
  • vue搭建的個(gè)人博客介紹----mapblog小站

    摘要:后端主要使用的框架,數(shù)據(jù)庫(kù)采用。后臺(tái)管理登錄采用與后端進(jìn)行登陸狀態(tài)的確認(rèn)。本文首發(fā)于小站,這是一個(gè)積累和分享知識(shí)的個(gè)人博客 這篇文章擱置了很長(zhǎng)時(shí)間,最終決定還是把它寫出來(lái),給剛開(kāi)始學(xué)習(xí)vue并且想用vue寫個(gè)人博客的同學(xué)一個(gè)參考。因?yàn)楫?dāng)初我也是參考了其他人分享的知識(shí),從一個(gè)vue小白變成了一個(gè)入門級(jí)選手,并最終完成了這個(gè)個(gè)人博客的搭建工作,代碼已托管在Github-justJokee。...

    Ashin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Lsnsh

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<