2023-04-10

張三的博客項(xiàng)目總結(jié)

  1. 請(qǐng)問項(xiàng)目用到了哪些技術(shù)邓尤?
    • Node.js
      • Modules:
        • CommonJS的模塊化
        • ECMAScript Module
    • Expresss()框架
    • MongoDB數(shù)據(jù)庫
    • Mongoose庫
      • Schema()
      • Model()
    • MVC:APP的設(shè)計(jì)模式/思想
      • Model:模型(數(shù)據(jù))
      • View:視圖
      • Controller:控制器
    • BootStrap:構(gòu)建布局
    • EJS:視圖模版

NPM VS NPX

Npm : Node.js的軟件包管理器(Node.js Package Manager )

NPX: Node.js的軟件包執(zhí)行器 (Node.js Package Executor)

express Generator

定義

express Generator是快速生成Express APP的腳手架育拨。


Node.js APP 的開發(fā)步驟

第1步:項(xiàng)目初始化

  1. 創(chuàng)建package.json文件(模塊包劫狠,管理項(xiàng)目用到模板)
mkdir myApp 
cd myApp
npm init --yes
npm init -y

第2步. 創(chuàng)建項(xiàng)目目錄結(jié)構(gòu)

myApp
- models:存放數(shù)據(jù)模型模塊 module.exports = Blog
- views: 存放ejs視圖文件
- controllers: 存放控制器:處理請(qǐng)求的回調(diào)
- routes: 存放路由表
- public: 存放靜態(tài)資源(圖片羹幸、css、js癌压、字體)
- app.js: 主文件(App入口)
- package.json: 描述App(app的名字嫡霞、描述、關(guān)鍵字捞挥、版本浮创、第三方依賴)

第3步:安裝項(xiàng)目所需模塊

一鍵安裝npm i

  • express
  • mongoose
  • ejs
  • express-ejs-layouts

第4步:引入模塊(注意順序引入)

用戶界面
node.js
內(nèi)置模板

  • path:用于處理(拼接)路徑段;
  • fs:用于處理文件系統(tǒng)砌函;
  • http:用于創(chuàng)建服務(wù)器;

第三方模板

  • express: 構(gòu)建node.js APP;
  • mongoose: 與mongoDB通信;
  • Ejs:創(chuàng)建視圖;嵌入式Javasript的hitml模板
    -<% %>:注入動(dòng)態(tài)數(shù)據(jù)(變量斩披、對(duì)象名溜族、函數(shù)名、語句)
  • nodemon:開發(fā)?
  • express--ejs-layouts:用于構(gòu)建視圖的模板垦沉;
  • 第一步:安裝npm install ejs煌抒??厕倍?

本地模塊

  • Model: 如: Blog數(shù)據(jù)模型

模塊化
** html**沒有模塊的概念

  • css使用@import導(dǎo)入css模塊
    • 不要把所以的css都寫在一個(gè)文件里
  • 謹(jǐn)慎使用@import 規(guī)則(1.必須放在css文件首行 2.注意:不要引入字體)
  • @import會(huì)發(fā)起請(qǐng)求
  • ES 6使用 import 和export導(dǎo)入模塊

第5步:創(chuàng)建app.js的基本結(jié)構(gòu)

App.js

//引入模塊
const express=require('express')

//實(shí)例化App
const app = express() 

//配置app實(shí)例
app.use('',callback) //為指定路徑注冊(cè)回調(diào)函數(shù)
app.set(key, value) //設(shè)置一個(gè)值寡壮,為以后調(diào)用

//連接數(shù)據(jù)庫
const uri = ''
mongoose.connect(uri)
        .then()
        .catch()

//配置路由

網(wǎng)站的基本·原理

  • 搭建一個(gè)網(wǎng)站,需要做的三件事:
  • 買一個(gè)域名:域名是ip地址的別名讹弯。域名管理面板下設(shè)置
    • 域名解析:把ip地址綁定到域名上况既;
  • 買一個(gè)服務(wù)器:
    • 每個(gè)服務(wù)器都是一個(gè)ip地址。
    • ip地址綁定一個(gè)域名组民。
  • 編寫一套程序:
    -靜態(tài)網(wǎng)頁語言:HTMl css
    • 動(dòng)態(tài)網(wǎng)頁語言:index.pjp 棒仍、 index.jsp、 index.asp臭胜、
  • 默認(rèn)頁:index.html index.thm index.php

網(wǎng)站工作原理

  • 網(wǎng)站分為兩種:
    靜態(tài)網(wǎng)站:沒有用到數(shù)據(jù)庫降狠,我的數(shù)據(jù)寫死html頁面里;
    • html 不支持變量
      動(dòng)態(tài)網(wǎng)站:數(shù)據(jù)從數(shù)據(jù)里注入到頁面里庇楞;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末榜配,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吕晌,更是在濱河造成了極大的恐慌蛋褥,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件睛驳,死亡現(xiàn)場離奇詭異烙心,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)乏沸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門淫茵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蹬跃,你說我怎么就攤上這事匙瘪。” “怎么了蝶缀?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵丹喻,是天一觀的道長。 經(jīng)常有香客問我翁都,道長碍论,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任柄慰,我火速辦了婚禮鳍悠,結(jié)果婚禮上税娜,老公的妹妹穿的比我還像新娘。我一直安慰自己藏研,他們只是感情好巧涧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著遥倦,像睡著了一般谤绳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上袒哥,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天缩筛,我揣著相機(jī)與錄音,去河邊找鬼堡称。 笑死瞎抛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的却紧。 我是一名探鬼主播桐臊,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼晓殊!你這毒婦竟也來了断凶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤巫俺,失蹤者是張志新(化名)和其女友劉穎认烁,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體介汹,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡却嗡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嘹承。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窗价。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖叹卷,靈堂內(nèi)的尸體忽然破棺而出撼港,到底是詐尸還是另有隱情,我是刑警寧澤豪娜,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布餐胀,位于F島的核電站,受9級(jí)特大地震影響瘤载,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卖擅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一鸣奔、第九天 我趴在偏房一處隱蔽的房頂上張望墨技。 院中可真熱鬧,春花似錦挎狸、人聲如沸扣汪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽崭别。三九已至,卻和暖如春恐锣,著一層夾襖步出監(jiān)牢的瞬間茅主,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工土榴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留诀姚,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓玷禽,卻偏偏與公主長得像赫段,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子矢赁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 使用Node.js開發(fā)App的步驟 創(chuàng)建項(xiàng)目目錄mkdir myappcd myapp# 合并以上兩步驟mkdir...
    勞模閱讀 98評(píng)論 0 0
  • 使用Node.js開發(fā)App的步驟 創(chuàng)建項(xiàng)目目錄mkdir myappcd myapp# 合并以上兩步驟mkdir...
    天天涯閱讀 67評(píng)論 0 0
  • 一. 簡介 1.Node.js是js運(yùn)行在服務(wù)器的一個(gè)平臺(tái)2.Node中糯笙,每一個(gè)js文件中的代碼都是獨(dú)立運(yùn)行在一個(gè)...
    codingZero閱讀 413評(píng)論 0 0
  • 1、JS的數(shù)據(jù)類型只有浮點(diǎn)型撩银,沒有整型炬丸。null,underfined,boolean,number,string...
    6e5e50574d74閱讀 2,205評(píng)論 2 1
  • 搭建開發(fā)環(huán)境并模擬交互數(shù)據(jù) 一、實(shí)驗(yàn)說明 下述介紹為實(shí)驗(yàn)樓默認(rèn)環(huán)境蜒蕾,如果您使用的是定制環(huán)境稠炬,請(qǐng)修改成您自己的環(huán)境介...
    玄月府的小妖在debug閱讀 2,125評(píng)論 0 15