成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【Part2】用JS寫一個Blog (node + vue + mongoDB)

charles_paul / 587人閱讀

摘要:用寫一個上一節(jié)前后端項目分別初始化完成,這一小節(jié)我就從后端項目開始寫。每一個都映射到一個的集合,并定義了該集合中的文檔的形式。

【Part1】用JS寫一個Blog (node + vue + mongoDB)

上一節(jié)前后端項目分別初始化完成,這一小節(jié)我就從后端項目開始寫。實現(xiàn)mongoDB數(shù)據(jù)庫的連接。

整理后端目錄

下面是通過express-generate生成的項目的目錄

bin/www是項目的啟動文件,啟動項目除了上次說的npm start,還可以再命令后執(zhí)行 node bin/www,其實這兩個命令是一樣的,只不過在package.json文件中兩者建立了鏈接,如下圖

node_modules不用多說,項目的依賴都安裝于此
public是放置一些公共資源的文件夾,我以后也不會用到它,所以把他給刪掉了
router下的.js文件就是我們寫API的地方了,為了更直觀,我把router名字改為api,把里面的文件名字分別改為post.jsadmin.js.(我把api分成兩個文件,一個是與文章相關(guān)的,另一個是與管理員相關(guān)的)
views是頁面的模板,因為我們后端只提供數(shù)據(jù)接口,所以用不到頁面文件,我把他給刪掉了
app.js是整個項目的入口文件,相當于后端項目的大腦,它里面的文件是按順序執(zhí)行
package.json是關(guān)于我們這個項目用到的依賴。
需要說明的是,需要在根目錄下創(chuàng)建一個models的文件夾用來初始化mongodb數(shù)據(jù)庫等一些操作的。
下面就是整理好的后端目錄

安裝mongoDB數(shù)據(jù)庫

安裝方法在這里不多說,網(wǎng)上資源一大堆,可以去官網(wǎng)看官方文檔,我是利用Docker安裝的,方便本地調(diào)試。
安裝完成后不要忘記啟動mongodb

安裝mongoose

mongoosemongodb的一個對象模型工具,有了它,可以很方便的操作mongodb數(shù)據(jù)庫,還不是很了解mongoose的小伙伴自行g(shù)oogle,資料有很多。
命令行輸入 npm install mongoose --save

安裝完成后,首先要定義模型
models文件夾下新建一個post.js 定義文章的模型,填入內(nèi)容

let mongoose = require("mongoose")  //引入mogoose

 //在 Mongoose 中,所有東西都從一個 Schema 開始。每一個 schema 都映射到一個 MongoDb 的集合,并定義了該集合中的文檔的形式。
let postSchema = new mongoose.Schema({  
  title: String,   //規(guī)定文章的標題是字符串類型
  content: String  //規(guī)定文章的內(nèi)容是字符串類型
})               
let postModel = mongoose.model("posts", postSchema)  //定義模型

module.exports = postModel   //通過commonJS模塊語法導出

models文件夾下新建一個admin.js 定義管理員模型,填入內(nèi)容

let mongoose = require("mongoose")

let adminSchema = new mongoose.Schema({
  name: String,   //用戶名
  pass: String    //密碼
})

let adminModel = mongoose.model("admin", adminSchema)

module.exports = adminModel

繼續(xù)在models文件夾下新建一個init.js 用于連接mongoDB數(shù)據(jù)庫,填入內(nèi)容

let mongoose = require("mongoose")

mongoose.connect("mongodb://localhost:27017/blog")  // 數(shù)據(jù)庫的端口號根據(jù)需求進行調(diào)整,一般直接安裝mongodb并啟動后,端口號默認是27017,如果通過docker安裝,端口號會是其他的。blog是我們博客的數(shù)據(jù)庫的名字,如果沒有名字為blog的數(shù)據(jù)庫,會自動添加。

///打印連接狀態(tài)的日志,可自行選擇寫與不寫
mongoose.connection.on("connected", (req, res) => {
  console.log("MongoDB connected success")
})
mongoose.connection.on("err", (req, res) => {
  console.log("MongoDB connected fail")
})
mongoose.connection.on("disconnected", (req, res) => {
  console.log("MongoDB connected disconnected")
})

下面就重啟我們后端項目,如果上次開啟的進程還沒關(guān)掉,命令行control + c關(guān)閉進程,輸入npm start重啟項目。

fk,報錯。。

不能找到index這個文件,原來是我們剛剛改了index.jsuser.js文件的名字,因為這兩個文件在app.js中被引用,所以找到app.js,



修改為

修改完成后,執(zhí)行npm start
項目是啟動成功了,但是結(jié)果沒有出現(xiàn)打印的日志

說明我們的數(shù)據(jù)庫沒有連接,找了很久,原來是因為我們的init.js文件沒有在app.js中引用,那肯定是沒有執(zhí)行init.js文件,因為前面說了整個項目的主入口文件是app.js,所以我們在app.js中引用它

現(xiàn)在重啟項目,看看是不是有了連接成功的日志

數(shù)據(jù)庫已連接成功,那么下一步寫接口!

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19142.html

相關(guān)文章

  • Part2JS一個Blognode + vue + mongoDB

    摘要:用寫一個上一節(jié)前后端項目分別初始化完成,這一小節(jié)我就從后端項目開始寫。每一個都映射到一個的集合,并定義了該集合中的文檔的形式。 【Part1】用JS寫一個Blog (node + vue + mongoDB) 上一節(jié)前后端項目分別初始化完成,這一小節(jié)我就從后端項目開始寫。實現(xiàn)mongoDB數(shù)據(jù)庫的連接。 整理后端目錄 下面是通過express-generate生成的項目的目錄 show...

    YPHP 評論0 收藏0
  • 【Part3】JS一個Blognode + vue + mongoDB

    摘要:用寫一個用寫一個上一節(jié)我們把數(shù)據(jù)庫連接成功了,這節(jié)我準備寫關(guān)于文章的數(shù)據(jù)接口增刪改查上次說到接口都在文件夾里面寫,打開文件,首先引入文章的模型新增文章新增文章方法保存數(shù)據(jù)到數(shù)據(jù)庫如果出現(xiàn)錯誤,直接把錯誤進的錯誤中樞處理儲存成功后,返回給客戶 【Part1】用JS寫一個Blog (node + vue + mongoDB)【Part2】用JS寫一個Blog (node + vue + m...

    wuyumin 評論0 收藏0
  • 【Part3】JS一個Blognode + vue + mongoDB

    摘要:用寫一個用寫一個上一節(jié)我們把數(shù)據(jù)庫連接成功了,這節(jié)我準備寫關(guān)于文章的數(shù)據(jù)接口增刪改查上次說到接口都在文件夾里面寫,打開文件,首先引入文章的模型新增文章新增文章方法保存數(shù)據(jù)到數(shù)據(jù)庫如果出現(xiàn)錯誤,直接把錯誤進的錯誤中樞處理儲存成功后,返回給客戶 【Part1】用JS寫一個Blog (node + vue + mongoDB)【Part2】用JS寫一個Blog (node + vue + m...

    CoorChice 評論0 收藏0
  • 【Part1】JS一個Blognode + vue + mongoDB

    摘要:總的來說就是開發(fā)博客系統(tǒng),探索前端走向全棧之路。我會記錄下來整個過程在我的專欄,有興趣的可以關(guān)注一下,一起學習,歡迎討論。話不多說,先進行前后端項目的初始化。安裝完成后,輸入命令切換到項目文件夾后輸入命令訪問一下項目初始化完成。 學習JS也有一段時間了,準備試著寫一個博客項目,前后端分離開發(fā),后端用node只提供數(shù)據(jù)接口,前端用vue-cli腳手架搭建,路由也由前端控制,數(shù)據(jù)異步交互用...

    jhhfft 評論0 收藏0
  • 【Part1】JS一個Blognode + vue + mongoDB

    摘要:總的來說就是開發(fā)博客系統(tǒng),探索前端走向全棧之路。我會記錄下來整個過程在我的專欄,有興趣的可以關(guān)注一下,一起學習,歡迎討論。話不多說,先進行前后端項目的初始化。安裝完成后,輸入命令切換到項目文件夾后輸入命令訪問一下項目初始化完成。 學習JS也有一段時間了,準備試著寫一個博客項目,前后端分離開發(fā),后端用node只提供數(shù)據(jù)接口,前端用vue-cli腳手架搭建,路由也由前端控制,數(shù)據(jù)異步交互用...

    ctriptech 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<