Vue.js + Express + Herokuでwebアプリを作る
フロントエンドはVue.jsで作ります。 本記事はとりあえずVue.jsプロジェクトを作成して、Herokuで見られるようにするところまでの手順をまとめます。
前提
- 開発マシンにNode.jsがインストール済み
- 開発マシンでnpmが使える
Vue.jsプロジェクトの作成
まず、vue-cliをインストールします。ローカルマシンでのみグローバルに使うのでオプションは-gにしてます。
$ npm install -g @vue/cli
次に開発を行うディレクトリに移動し、次のコマンドを叩きます。
$ vue create .
カレントディレクトリにVueプロジェクトを構築したかったので、「.」を指定していますが、新規でディレクトリを作りたければ「.」を「ディレクトリ名」に置き換えてください。ディレクトリ名を指定すると、ディレクトリ名のディレクトリを作成して、その中にVueプロジェクトを構築してくれます。
Webサーバーの構築
Herokuで公開するためにWebサーバーをExpressで構築します。 app.jsファイルに以下を記述。
/* app.js */ var express = require('express'); var app = express(); app.set('port', (process.env.PORT || 8080)); app.use(express.static(__dirname + '/dist/')); app.listen(app.get('port'));
package.jsonの修正
Herokuがアプリ起動時に実行する処理をpackage.jsonに記載します。
/* package.json */ ...........(略).................. "scripts": { ...........(略).................. "start": "node app.js" // ←この行を追加 }, ...........(略)..................
Gitにアップロード/デプロイ
あとはgitにpushして、Heroku上でデプロイをするだけです。 アプリのURLにアクセスすると、Vueのデフォルトのトップ画面(「Welcome to Your Vue.js App」というページ)が見られると思います。
ローカルで試したい場合には
$ npm run build $ npm run serve
を実行後、ブラウザで「http://localhost:8080/」にアクセスすると見ることができます。