學習Heroku with Node.js
註冊Heroku帳號
clone可隨後部署到Heroku的示例應用程序本地版本
下載Heroku CLI-----下載
MacOS也可以在 terminal 打以下指令透過 Homebrew下載
$ brew install heroku/brew/heroku
※Homebrew是macOS一個缺少套件的管理工具。-----了解更多
透過以下指令登入heroku
$ heroku login
我選擇以Node.jsxu Heroku
確認是否有裝git套件
$ git --version
沒有的話下載
在本地command shell或terminal中執行以下命令※顯示「fatal: 不能建立工作區目錄 'node-js-getting-started': Permission denied」,指令前面+“sudo”
Deploy your code?
現在已部署該app。確保至少有一個app實例正在運行:
通過其app名稱生成的URL訪問該app。可以按以下方式打開網站
將修改後的文件添加到本地git目錄中
$ git clone https://github.com/heroku/node-js-getting-started.git
$ cd node-js-getting-started
建立一個app在Heroku上
$ heroku create
$ git push heroku master
$ heroku ps:scale web=1
※中途遇到「Warning: heroku update available from 7.35.0 to 7.41.1.」則先升級heroku
$ heroku update
$ heroku open
查看logs
$ heroku logs --tail
※ 「Control+C」停止查看
定義一個Procfile(app根目錄中的text file)來明確告知執行什麼command來啟動app
web: node index.js
可以透過以下ps命令檢查正在運行的測功機(dynos)
$ heroku ps
=== web (Free): `node index.js`
web.1: up 2014/04/25 16:26:38 (~ 1s ago)
在根目錄執行以下command安裝這些依賴項目,為之後系統在本地運行app做準備
$ npm install
在本地運行app
$ heroku local web
heroku local 檢查 procfile 確定要運行的內容
使用瀏覽器打開http://localhost:5000
※阻止該app在本地運行,則在CLI中按「Ctrl+C」
測試本地運行
以cool-ascii-faces套件為例
$ npm install cool-ascii-faces
修改index.js內容
const cool = require('cool-ascii-faces');
const express = require('express');
const path = require('path');
const PORT = process.env.PORT || 5000;
express()
.use(express.static(path.join(__dirname, 'public')))
.set('views', path.join(__dirname, 'views'))
.set('view engine', 'ejs')
.get('/', (req, res) => res.render('pages/index'))
.get('/cool', (req, res) => res.send(cool()))
.listen(PORT, () => console.log(`Listening on ${ PORT }`));
$ npm install
$ heroku local
$ git add .
提交commit
$ git commit -m "Add cool face API"
push到 heroku master
$ git push heroku master
查看內容
$ heroku open cool
大概是這樣,其他之後再研究~
留言
張貼留言