Vue.jsとFlaskを使用したSPAプロジェクトテンプレート。
git clone https://github.com/kiysi/vue-flask-spa.git
cd vue-flask-spa
pipenv install
yarn install
開発時はフロントエンド側で開発サーバーを起動することで、ホットリロードが有効になります。
yarn serve
バックエンド側Flaskは以下のコマンドで開発用サーバーで起動します。
py run.py
開発時、フロントエンドサーバーからバックエンドサーバーへのAPIはvue.configの設定でflaskの5000ポートへプロキシさせています。
proxy: {
"/api*": {
// /パスが /api~ のrequestはflaskへ転送させる
target: "http://127.0.0.1:5000/"
}
}
プロダクション環境として、herokuを想定してデプロイする手順です。
herokuプロジェクトのSettingsの「Buildpacks」でnode.js
とpython
を追加しておきます。
package.jsonに下記のコマンドを追記しているため、herokuへデプロイした際に、vueの依存ライブラリがインストールされた後にビルドまでされます。
その後にPipfile
の依存ライブラリがインストールされてProcfile
に従って、web dynoでgunicornが起動します。
"postinstall": "yarn build"
※つまるところ、herokuへデプロイするだけでOKです。