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

資訊專(zhuān)欄INFORMATION COLUMN

4.1 開(kāi)發(fā)環(huán)境目錄結(jié)構(gòu)配置文件功能梳理-博客后端Api-NodeJs+Express+Mys

DevWiki / 2625人閱讀

摘要:從本章開(kāi)始,正式學(xué)習(xí)如何使用搭建一個(gè)博客。但通常我們都會(huì)有許多環(huán)境,如本地開(kāi)發(fā)環(huán)境測(cè)試環(huán)境和線(xiàn)上環(huán)境等,不同的環(huán)境的配置不同,我們不可能每次部署時(shí)都要去修改引用或者。會(huì)根據(jù)環(huán)境變量的不同從當(dāng)前執(zhí)行進(jìn)程目錄下的目錄加載不同的配置文件。

從本章開(kāi)始,正式學(xué)習(xí)如何使用 Nodejs + Express + Mysql 搭建一個(gè)博客。
開(kāi)發(fā)環(huán)境

首先說(shuō)下開(kāi)發(fā)環(huán)境安裝的核心依賴(lài)版本:

Node.js: 8.9.3

Mysql: 5.6.25

Express: 4.14.0

目錄準(zhǔn)備
mkdir blogNodejs //創(chuàng)建blog文件夾

cd blogNodejs //進(jìn)入blog目錄

npm init //初始化blog空項(xiàng)目

然后就根據(jù)提示填寫(xiě)一些項(xiàng)目初始化信息,然后回車(chē)創(chuàng)建成功

目錄介紹
-bin/www 項(xiàng)目啟動(dòng)必備文件
-configs 存放配置文件
-controllers 控制層
-libs 存放一些工具函數(shù)js等
-locales 存放i18n國(guó)際化json
-logs 存放錯(cuò)誤日志
-middlewares 存放中間件
-models 存放數(shù)據(jù)庫(kù)文件
-public 存放靜態(tài)文件,如樣式、圖片等(由于咱們主要使用express書(shū)寫(xiě)后端api 所以該文件夾僅作為備用)
-routes 存放路由文件
-services 存放服務(wù)文件
-views 存放模板文件(由于咱們主要使用express書(shū)寫(xiě)后端api 所以該文件夾僅作為備用)
-app.js 主入口文件
-package.json 存儲(chǔ)項(xiàng)目名、描述、作者、依賴(lài)等等信息
-readme.md 項(xiàng)目介紹等
為了方便代碼多地點(diǎn)編寫(xiě),我將其放到了github上
https://github.com/wangwenjie...
安裝依賴(lài)模塊

為了避免各位安裝版本和我講述的依賴(lài)版本不一致,而造成一些小錯(cuò)誤;

現(xiàn)在將 package.json 供大家下載覆蓋blog根目錄下的package.json

對(duì)應(yīng)模塊的用處:
bluebird:老牌Promise挽救回調(diào)地獄
co:搭配bluebird讓異步寫(xiě)起來(lái)像同步
blueimp-md5:用于密碼md5加密(后面會(huì)介紹)
body-parser:設(shè)置body解析數(shù)據(jù)類(lèi)型
config-lite:配置文件(后面會(huì)介紹)(可以有效區(qū)分開(kāi)發(fā)dev、測(cè)試test、預(yù)上線(xiàn)st、正式product環(huán)境)
cors: 設(shè)置跨域白名單(后面會(huì)介紹)
debug:控制臺(tái)debug 
ejs: ejs模板
winston:日志
express-winston:基于 winston 的用于 express 的日志中間件
i18n: i18n國(guó)際化
jsonwebtoken:前后端分離jwt token(后面會(huì)介紹)
morgan:開(kāi)發(fā)模式下log
multer: 文件上傳
mysql: mysql
node-schedule: 定時(shí)任務(wù)schedule(后面會(huì)介紹)
nodemailer:郵箱服務(wù)(后面會(huì)介紹)
sequelize:mysql框架(后面會(huì)介紹)
underscore:js 工具函數(shù)

當(dāng)前blog目錄下控制臺(tái)運(yùn)行以下命令 安裝所需的模塊:

npm install 

如果遇到部分依賴(lài)被qiang,請(qǐng)使用

cnpm install 

配置文件

不管是小項(xiàng)目還是大項(xiàng)目,將配置與代碼分離是一個(gè)非常好的做法。我們通常將配置寫(xiě)到一個(gè)配置文件里,如 config.js 或 config.json ,并放到項(xiàng)目的根目錄下。但通常我們都會(huì)有許多環(huán)境,如本地開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境和線(xiàn)上環(huán)境等,不同的環(huán)境的配置不同,我們不可能每次部署時(shí)都要去修改引用 config.test.js 或者 config.production.js。

config-lite 模塊正是你需要的。-- 摘自nswbmw/N-blog

config-lite 是一個(gè)輕量的讀取配置文件的模塊。config-lite 會(huì)根據(jù)環(huán)境變量(NODE_ENV)的不同從當(dāng)前執(zhí)行進(jìn)程目錄下的 config 目錄加載不同的配置文件。如果不設(shè)置 NODE_ENV,則讀取默認(rèn)的 default 配置文件,如果設(shè)置了 NODE_ENV,則會(huì)合并指定的配置文件和 default 配置文件作為配置,config-lite 支持 .js、.json、.node、.yml、.yaml 后綴的文件。

如果程序以 NODE_ENV=test node app 啟動(dòng),則 config-lite 會(huì)依次降級(jí)查找 config/test.js、config/test.json、config/test.node、config/test.yml、config/test.yaml 并合并 default 配置;

如果程序以 NODE_ENV=production node app 啟動(dòng),則 config-lite 會(huì)依次降級(jí)查找 config/production.js、config/production.json、config/production.node、config/production.yml、config/production.yaml 并合并 default 配置。

在 blogNodejs/config 目錄下新建 default.js,添加如下代碼:

config/default.js

module.exports = {
env: "dev",//當(dāng)前環(huán)境
mysql: { //mysql數(shù)據(jù)庫(kù)
    host: "127.0.0.1",
    user: "root", //你安裝的數(shù)據(jù)庫(kù)用戶(hù)名
    password: "root", //你安裝的mysql數(shù)據(jù)庫(kù)密碼
    database: "blog", //數(shù)據(jù)庫(kù)
    port: 3306, //端口
    },
};

配置釋義:

1、env:當(dāng)前環(huán)境,便于后面業(yè)務(wù)中判斷

2、mysql:數(shù)據(jù)庫(kù)連接配置

功能梳理

博客系統(tǒng) 我不想搞得太復(fù)雜,就只實(shí)現(xiàn)基礎(chǔ)功能,看完教程你們可以自己延伸

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

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

相關(guān)文章

  • NodeJs+Express+Mysql + Vuejs 項(xiàng)目實(shí)戰(zhàn) - 大綱

    摘要:多一個(gè)技能多一條出路,祝你在自學(xué)道路上越走越好,掌握自己的核心技能,不只是優(yōu)秀,還要成為不可替代的人 NodeJs+Express+Mysql + Vuejs 項(xiàng)目實(shí)戰(zhàn) 最近準(zhǔn)備寫(xiě)一系列文章,全面講述如何基于NodeJs + Express + Mysql + Vuejs 從零開(kāi)發(fā)前后端完全分離項(xiàng)目; 文筆及技術(shù)可能在某些方面欠佳,請(qǐng)您指正,共同學(xué)習(xí)進(jìn)步 前端:Vuejs全家桶 后端:...

    noONE 評(píng)論0 收藏0
  • 4.2 數(shù)據(jù)庫(kù)表/Sequelize Mysql-博客后端Api-NodeJs+Express+My

    功能梳理完了以后,咱們就可以開(kāi)始數(shù)據(jù)庫(kù)表設(shè)計(jì)了: 數(shù)據(jù)庫(kù)表圖: showImg(https://segmentfault.com/img/bVbr9GC?w=1922&h=1140); 首先打開(kāi)Navicat Premium 創(chuàng)建數(shù)據(jù)庫(kù) blog 配置如下: showImg(https://segmentfault.com/img/bVbr81Y?w=720&h=352); 課前學(xué)習(xí):1、Sequ...

    nicercode 評(píng)論0 收藏0
  • 4.6 Nodemailer系統(tǒng)發(fā)用戶(hù)郵件-博客后端Api-NodeJs+Express+Mysql

    摘要:發(fā)郵件組件使用發(fā)送郵件咱們?nèi)粘i_(kāi)發(fā)中有時(shí)會(huì)遇到需要系統(tǒng)推送郵件給相關(guān)用戶(hù)例如注冊(cè)后發(fā)送激活郵箱等等,此時(shí)就需要用到首先,去云云云郵件推送以為例是一個(gè)基于的郵件服務(wù)模塊。 NodeMailerNodejs發(fā)郵件組件Nodemailerhttp://blog.fens.me/nodejs-em...Node.js使用NodeMailer發(fā)送郵件http://www.jianshu.com/...

    shadowbook 評(píng)論0 收藏0
  • 4.6 Nodemailer系統(tǒng)發(fā)用戶(hù)郵件-博客后端Api-NodeJs+Express+Mysql

    摘要:發(fā)郵件組件使用發(fā)送郵件咱們?nèi)粘i_(kāi)發(fā)中有時(shí)會(huì)遇到需要系統(tǒng)推送郵件給相關(guān)用戶(hù)例如注冊(cè)后發(fā)送激活郵箱等等,此時(shí)就需要用到首先,去云云云郵件推送以為例是一個(gè)基于的郵件服務(wù)模塊。 NodeMailerNodejs發(fā)郵件組件Nodemailerhttp://blog.fens.me/nodejs-em...Node.js使用NodeMailer發(fā)送郵件http://www.jianshu.com/...

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

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

0條評(píng)論

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