Node.js+EJS+Express+MongoDB的MVC架構

類似MEAN Stack,但是網頁模板使用較簡單的EJS

只記錄大架構

先安裝Express 應用程式產生器

$ npm install express-generator -g

使用產生器快速生成一個網站,並push到heroku

//--git           add .gitignore
$ express myexpress2 --view ejs --git
$ cd myexpress2
$ npm install
$ git init
$ git add .
$ git commit -am "init"
$ heroku create myexpress2
$ heroku git:remote -a myexpress2
$ git push heroku master

新增兩個資料夾 controllers、models可以放置業務邏輯跟資料模型

mongoose.Schema放在models,CURD放在controllers裡

在views新增資料夾partials放置ejs共用模板

在app.js連接資料庫並設定路由

$ npm install express-session --save

// app.js 啟用session

var session = require('express-session');

app.use(session({ secret: 'test', resave: true, saveUninitialized: true, cookie: { maxAge: 14400000 }}));
app.use(express.static(path.join(__dirname, 'public')));
app.use(function(req, res, next) {
  res.locals.logined = req.session.logined;
  res.locals.username = req.session.username;
  next();
});