專案初始化小抄(工具:node.js + express + handlebars)
用終端機移動到專案資料夾後,用下列指令產生 package.json 檔
npm init -y
修改 package.json 檔,設定入口檔案及腳本,例如:
"main": "app.js",
"scripts": {
"start": "node app.js",
"dev": "nodemon app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
安裝套件,例如
npm install express express-handlebars body-parser method-override
實用套件:
- body-parser:解析 POST request 的 request body
- method-override:瀏覽器只有 GET 和 POST 兩種請求方法。為了達成 RESTful API 的設計風格或其他理由,用 method-override 將請求方法改成別的名字,例如 PUT、DELETE 等等
- express-session:為 http 請求加入狀態
- passport:使用者驗證。不同的驗證方式,需使用對應的驗證策略
- passport-local:在本地端進行驗證的驗證策略
- bcryptjs:把機密資料(例如使用者的密碼)加鹽並雜湊
- faker:產生假資料
- multer:上傳檔案
- helmet:設定與資訊安全有關的 HTTP 標頭
- sanitize-html:消毒 HTML
建立入口檔案,打開該檔案做基本設定:
const express = require('express')
const exphbs = require('express-handlebars')
const bodyParser = require('body-parser')
const methodOverride = require('method-override')
const app = express()
const PORT = 3000
app.engine('hbs', exphbs({ defaultLayout: 'main', extname: '.hbs' }))
app.set('view engine', 'hbs')
app.use(bodyParser.urlencoded({ extended: true }))
app.use(methodOverride('_method'))
app.get('/', (req, res) => {
res.send('Greetings from express!')
})
app.listen(PORT, () => {
console.log(`express is listening on http://localhost:${PORT}`)
})
將專案登錄到版本控制管理系統 Git:在終端機輸入
git init
新增並設定 .gitignore 檔案,將不需要版本控制的檔案列進去
# OS X
.DS_Store*
Icon?
._*
# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
# npm
node_modules
*.log
*.gz
# others
.env
temp/
upload/
將目前的進度建立一筆 commit(Git Commit Message 這樣寫會更好,替專案引入規範與範例)
git add .
git commit -m "feat: project init"
最後更新時間:2021年3月26日
Comments
Post a Comment