摘要:原文來(lái)源全棧初體驗(yàn)前言據(jù)說(shuō)現(xiàn)在不會(huì)點(diǎn)后臺(tái)的前端都找不到工作了嚇得我這幾天看起了和并且做了一個(gè)應(yīng)該算是最簡(jiǎn)單的前后端例子,如圖輸入賬戶密碼,提交表單,保存信息到數(shù)據(jù)庫(kù)再重定向到頁(yè)面獲取數(shù)據(jù)庫(kù)中的信息,渲染在瀏覽器上具體代碼主要技術(shù)前端模板后臺(tái)
原文來(lái)源: 全棧初體驗(yàn)
前言據(jù)說(shuō)現(xiàn)在不會(huì)點(diǎn)后臺(tái)的前端都找不到工作了
嚇得我這幾天看起了Nodejs和MongoDB
并且做了一個(gè)應(yīng)該算是最簡(jiǎn)單的前后端例子,如圖
輸入賬戶密碼,提交表單,保存信息到數(shù)據(jù)庫(kù)
再重定向到 showInfo 頁(yè)面獲取數(shù)據(jù)庫(kù)中的信息,渲染在瀏覽器上
具體代碼: github
前端模板: jade
后臺(tái)框架: express-generator
數(shù)據(jù)庫(kù)連接: mongoose
默認(rèn)電腦已安裝nodejs,yarn或者npm,MongoDB
前期yarn add express-generator // express infoSave // 創(chuàng)建生成 express 項(xiàng)目 cd infoSave yarn install // 安裝依賴包 yarn start // 可以到 localhost:3000 看到運(yùn)行界面 yarn add mongoose // 安裝 mongoose,不需要安裝jade,express-generator自動(dòng)安裝了中期
cd views
將 index.jade 文件內(nèi)容修改為
extends layout block content h1= title p Welcome to #{title} form(method="post", action="/") babel(for="user") 用戶名 input(type="text",name="user",id="user") br babel(for="passwd") 密碼 input(type="password",name="passwd",id="passwd") br input(type="submit",value="提交")
touch showInfo.jade
extends layout block content h1= title p Welcome to #{title} ul each info, i in infos li span.user 賬戶: #{info.user}      span.passwd 密碼: #{info.passwd}
這兩個(gè)jade是我們 / 和 /showInfo 兩個(gè)路由所渲染的頁(yè)面
cd index.js
修改為
router.get("/", function(req, res, next) { res.render("index", { title: "infoSave" }); });
添加
router.get("/showInfo", function(req, res, next) { infos.find({}, function(err, docs){ if(err) { res.render("showInfo", { title: "showInfo" }); }else { res.render("showInfo", { title: "showInfo", infos: docs }); } });
public文件夾中的stylesheets文件夾新建一個(gè)css文件form.css
form { width: 300px; height: 300px; } babel { display: block; font-size: 20px; } input:not([type="submit"]) { box-sizing: border-box; padding: 5px; width: 200px; font-size: 15px; float: right; } input[type="submit"] { float: right; width: 100px; padding: 5px; background: #79f; cursor: pointer; font-size: 15px; }
此時(shí) yarn start 會(huì)發(fā)現(xiàn) localhost:3000 可以加載
localhost:3000/showInfo 會(huì)報(bào)錯(cuò),
因?yàn)槲覀冞€沒(méi)有進(jìn)行數(shù)據(jù)的交互
在 infoSave 目錄下,創(chuàng)建兩個(gè)文件夾
schemas文件夾存放數(shù)據(jù)庫(kù)集合的模型骨架
models文件夾存放Schema構(gòu)造實(shí)例進(jìn)行數(shù)據(jù)操作
文件夾schemas, 在里面創(chuàng)建文件 info.js,內(nèi)容為
let mongoose = require("mongoose"); let InfoSchema = new mongoose.Schema({ user: String, passwd: String }) // 導(dǎo)出InfoSchema模式 module.exports = InfoSchema;
文件夾models,創(chuàng)建文件 info.js,內(nèi)容為
let mongoose = require("mongoose"); let infoSchema = require("../schemas/info.js"); //引入"../schemas/info.js"導(dǎo)出的模式模塊 // 編譯生成info模型 let infos = mongoose.model("userInfo", infoSchema); // 將info模型[構(gòu)造函數(shù)]導(dǎo)出 module.exports = infos;
app.js文件添加
// 連接MongoDB中的 infoDB 數(shù)據(jù)庫(kù),若沒(méi)有則自動(dòng)生成 var mongoose = require("mongoose"); mongoose.connect("mongodb://127.0.0.1:27017/infosDB");
到此,我們的工程結(jié)束了,
yarn start試試看,記得先開(kāi)啟MongoDB
啊,有一種搬代碼,沒(méi)有寫教程的感覺(jué)
第一次自己搭建運(yùn)行前后端環(huán)境,真是愉悅呀
歡迎私信交流,也可以看我博客cheesekun.top
?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/111925.html
摘要:原文來(lái)源全棧初體驗(yàn)前言據(jù)說(shuō)現(xiàn)在不會(huì)點(diǎn)后臺(tái)的前端都找不到工作了嚇得我這幾天看起了和并且做了一個(gè)應(yīng)該算是最簡(jiǎn)單的前后端例子,如圖輸入賬戶密碼,提交表單,保存信息到數(shù)據(jù)庫(kù)再重定向到頁(yè)面獲取數(shù)據(jù)庫(kù)中的信息,渲染在瀏覽器上具體代碼主要技術(shù)前端模板后臺(tái) 原文來(lái)源: 全棧初體驗(yàn) 前言 據(jù)說(shuō)現(xiàn)在不會(huì)點(diǎn)后臺(tái)的前端都找不到工作了嚇得我這幾天看起了Nodejs和MongoDB并且做了一個(gè)應(yīng)該算是最簡(jiǎn)單的前后...
摘要:原文來(lái)源全棧初體驗(yàn)前言據(jù)說(shuō)現(xiàn)在不會(huì)點(diǎn)后臺(tái)的前端都找不到工作了嚇得我這幾天看起了和并且做了一個(gè)應(yīng)該算是最簡(jiǎn)單的前后端例子,如圖輸入賬戶密碼,提交表單,保存信息到數(shù)據(jù)庫(kù)再重定向到頁(yè)面獲取數(shù)據(jù)庫(kù)中的信息,渲染在瀏覽器上具體代碼主要技術(shù)前端模板后臺(tái) 原文來(lái)源: 全棧初體驗(yàn) 前言 據(jù)說(shuō)現(xiàn)在不會(huì)點(diǎn)后臺(tái)的前端都找不到工作了嚇得我這幾天看起了Nodejs和MongoDB并且做了一個(gè)應(yīng)該算是最簡(jiǎn)單的前后...
前言 原文地址 曾幾何時(shí),你有沒(méi)有想過(guò)一個(gè)前端工程師的未來(lái)是什么樣的?這個(gè)時(shí)候你是不是會(huì)想到了一個(gè)詞前端架構(gòu)師,那么一個(gè)合格的前端架構(gòu)只會(huì)前端OK嗎?那當(dāng)然不行,你必須具備全棧的能力,這樣才能擴(kuò)大個(gè)人的形象力,才能升職加薪,才能迎娶白富美,才能走向人生巔峰... 最近我在寫一些后端的項(xiàng)目,發(fā)現(xiàn)重復(fù)工作太多,尤其是框架部分,然后這就抽空整理了前后端的架子,主要是用的Vue,Express,數(shù)據(jù)存儲(chǔ)用...
摘要:小白的全棧開(kāi)發(fā)一簡(jiǎn)介從新手的角度對(duì)有了解,對(duì)和有了解。希望能夠幫助和我一樣是全棧小白的你看過(guò)很多關(guān)于怎么搭建全棧的文章,部分可能有借鑒。因?yàn)橐约邯?dú)立完成,所以開(kāi)始自己的全棧之旅。分享出來(lái)我的全棧經(jīng)歷,并記錄我的畢設(shè)進(jìn)度逃。 小白的全棧開(kāi)發(fā) 一 簡(jiǎn)介 從新手的角度(對(duì)vue有了解,對(duì)Koa和Express有了解。)從0開(kāi)始搭建一個(gè)通過(guò)RESTful API提供數(shù)據(jù),vue組成的單頁(yè)面的...
閱讀 2359·2021-11-24 11:16
閱讀 2043·2021-09-30 09:47
閱讀 2010·2021-09-10 10:51
閱讀 1327·2019-08-30 14:08
閱讀 3145·2019-08-30 13:47
閱讀 1534·2019-08-30 13:02
閱讀 3238·2019-08-29 12:29
閱讀 3203·2019-08-26 17:05