摘要:從本章開始,正式學習如何使用搭建一個博客。但通常我們都會有許多環(huán)境,如本地開發(fā)環(huán)境測試環(huán)境和線上環(huán)境等,不同的環(huán)境的配置不同,我們不可能每次部署時都要去修改引用或者。會根據環(huán)境變量的不同從當前執(zhí)行進程目錄下的目錄加載不同的配置文件。
從本章開始,正式學習如何使用 Nodejs + Express + Mysql 搭建一個博客。開發(fā)環(huán)境
首先說下開發(fā)環(huán)境安裝的核心依賴版本:
Node.js: 8.9.3
Mysql: 5.6.25
Express: 4.14.0
目錄準備mkdir blogNodejs //創(chuàng)建blog文件夾 cd blogNodejs //進入blog目錄 npm init //初始化blog空項目
然后就根據提示填寫一些項目初始化信息,然后回車創(chuàng)建成功
目錄介紹-bin/www 項目啟動必備文件 -configs 存放配置文件 -controllers 控制層 -libs 存放一些工具函數js等 -locales 存放i18n國際化json -logs 存放錯誤日志 -middlewares 存放中間件 -models 存放數據庫文件 -public 存放靜態(tài)文件,如樣式、圖片等(由于咱們主要使用express書寫后端api 所以該文件夾僅作為備用) -routes 存放路由文件 -services 存放服務文件 -views 存放模板文件(由于咱們主要使用express書寫后端api 所以該文件夾僅作為備用) -app.js 主入口文件 -package.json 存儲項目名、描述、作者、依賴等等信息 -readme.md 項目介紹等
為了方便代碼多地點編寫,我將其放到了github上安裝依賴模塊
https://github.com/wangwenjie...
為了避免各位安裝版本和我講述的依賴版本不一致,而造成一些小錯誤;
現在將 package.json 供大家下載覆蓋blog根目錄下的package.json
對應模塊的用處:bluebird:老牌Promise挽救回調地獄 co:搭配bluebird讓異步寫起來像同步 blueimp-md5:用于密碼md5加密(后面會介紹) body-parser:設置body解析數據類型 config-lite:配置文件(后面會介紹)(可以有效區(qū)分開發(fā)dev、測試test、預上線st、正式product環(huán)境) cors: 設置跨域白名單(后面會介紹) debug:控制臺debug ejs: ejs模板 winston:日志 express-winston:基于 winston 的用于 express 的日志中間件 i18n: i18n國際化 jsonwebtoken:前后端分離jwt token(后面會介紹) morgan:開發(fā)模式下log multer: 文件上傳 mysql: mysql node-schedule: 定時任務schedule(后面會介紹) nodemailer:郵箱服務(后面會介紹) sequelize:mysql框架(后面會介紹) underscore:js 工具函數
當前blog目錄下控制臺運行以下命令 安裝所需的模塊:
npm install
如果遇到部分依賴被qiang,請使用
cnpm install配置文件
不管是小項目還是大項目,將配置與代碼分離是一個非常好的做法。我們通常將配置寫到一個配置文件里,如 config.js 或 config.json ,并放到項目的根目錄下。但通常我們都會有許多環(huán)境,如本地開發(fā)環(huán)境、測試環(huán)境和線上環(huán)境等,不同的環(huán)境的配置不同,我們不可能每次部署時都要去修改引用 config.test.js 或者 config.production.js。
config-lite 模塊正是你需要的。-- 摘自nswbmw/N-blog
config-lite 是一個輕量的讀取配置文件的模塊。config-lite 會根據環(huán)境變量(NODE_ENV)的不同從當前執(zhí)行進程目錄下的 config 目錄加載不同的配置文件。如果不設置 NODE_ENV,則讀取默認的 default 配置文件,如果設置了 NODE_ENV,則會合并指定的配置文件和 default 配置文件作為配置,config-lite 支持 .js、.json、.node、.yml、.yaml 后綴的文件。
如果程序以 NODE_ENV=test node app 啟動,則 config-lite 會依次降級查找 config/test.js、config/test.json、config/test.node、config/test.yml、config/test.yaml 并合并 default 配置;
如果程序以 NODE_ENV=production node app 啟動,則 config-lite 會依次降級查找 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",//當前環(huán)境 mysql: { //mysql數據庫 host: "127.0.0.1", user: "root", //你安裝的數據庫用戶名 password: "root", //你安裝的mysql數據庫密碼 database: "blog", //數據庫 port: 3306, //端口 }, };
配置釋義:
1、env:當前環(huán)境,便于后面業(yè)務中判斷
2、mysql:數據庫連接配置
功能梳理博客系統(tǒng) 我不想搞得太復雜,就只實現基礎功能,看完教程你們可以自己延伸
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/104082.html
摘要:多一個技能多一條出路,祝你在自學道路上越走越好,掌握自己的核心技能,不只是優(yōu)秀,還要成為不可替代的人 NodeJs+Express+Mysql + Vuejs 項目實戰(zhàn) 最近準備寫一系列文章,全面講述如何基于NodeJs + Express + Mysql + Vuejs 從零開發(fā)前后端完全分離項目; 文筆及技術可能在某些方面欠佳,請您指正,共同學習進步 前端:Vuejs全家桶 后端:...
功能梳理完了以后,咱們就可以開始數據庫表設計了: 數據庫表圖: showImg(https://segmentfault.com/img/bVbr9GC?w=1922&h=1140); 首先打開Navicat Premium 創(chuàng)建數據庫 blog 配置如下: showImg(https://segmentfault.com/img/bVbr81Y?w=720&h=352); 課前學習:1、Sequ...
摘要:發(fā)郵件組件使用發(fā)送郵件咱們日常開發(fā)中有時會遇到需要系統(tǒng)推送郵件給相關用戶例如注冊后發(fā)送激活郵箱等等,此時就需要用到首先,去云云云郵件推送以為例是一個基于的郵件服務模塊。 NodeMailerNodejs發(fā)郵件組件Nodemailerhttp://blog.fens.me/nodejs-em...Node.js使用NodeMailer發(fā)送郵件http://www.jianshu.com/...
摘要:發(fā)郵件組件使用發(fā)送郵件咱們日常開發(fā)中有時會遇到需要系統(tǒng)推送郵件給相關用戶例如注冊后發(fā)送激活郵箱等等,此時就需要用到首先,去云云云郵件推送以為例是一個基于的郵件服務模塊。 NodeMailerNodejs發(fā)郵件組件Nodemailerhttp://blog.fens.me/nodejs-em...Node.js使用NodeMailer發(fā)送郵件http://www.jianshu.com/...
閱讀 1635·2021-10-14 09:43
閱讀 5564·2021-09-07 10:21
閱讀 1290·2019-08-30 15:56
閱讀 2133·2019-08-30 15:53
閱讀 1243·2019-08-30 15:44
閱讀 2020·2019-08-30 15:44
閱讀 1331·2019-08-29 17:24
閱讀 761·2019-08-29 15:19