Angular4入門_Vol.20
参考サイト
https://www.codingforentrepreneurs.com/projects/try-angular-v4/
ngBuild and Deploy to Heroku
packageが完成したら、
$ ng build --prod
で、deploy用に、bundle.jsを作成する。prodオプションは、minファイルにするためか。bundle.jsには、typescriptファイルを役割ごとにまとめて、javascriptにtrans compileしたコードが記載されている。$ ng build --prod --output-path /Users/username/Desktop/try_angular4/ngSrvupTest
というコマンドでpathを指定して、ファイルを出力する。さらに、
$ ng build --prod --output-path /Users/username/Desktop/try_angular4/ngSrvupTest --watch
で、watchもできる。$ ng build --prod --output-path /Users/yassy/Desktop/try_angular4/ngSrvupTest/public/
というように、publicにしておいたほうがデプロイのときに楽ぽい。ngSrvupTest フォルダに、Procfileを作成する。
web: node index.js
- package.jsonを作成する(requirements.txtみたいなもんかな)
{ "name": "try-angular-4", "version": "1.0.0", "main": "index.js", "engines": { "node": "5.9.1" }, "dependencies": { "ejs": "2.4.1", "express": "4.13.3", "path": "0.12.7", "mongoose": "4.9.3", "body-parser": "1.17.1", "compression": "1.6.2" } }
- index.jsを作成する。
var express = require('express'); var path = require('path'); var app = express(); const port = process.env.PORT || '5000'; app.set('port', port); app.use(express.static(__dirname + '/public')); // staticファイルの置き場所? app.get('/[^\.]+$', function(req, res){ res.set('Content-Type', 'text/html') .sendFile(path.join(__dirname, '/public/index.html')) }); app.listen(app.get('port'), function(){ console.log("Node app is running at localhost:" + app.get('port')) });
$ node index.js
を実行してみる。。。error! express確認できないとのこと。$ npm install
で、package.jsonから必要なpackageをinstallする。$ node index.js
再度実行する。。。localhost:5000にアクセスしたところ無事表示された(^^).gitignore
ファイルを作成する。
node_modules .DS_Store
- herokuにデプロイするために、git repositoryをlocalに作成する。
$git init $git add --all $git commit -m "initial commit"
- herokuのrepositoryを作成する。
$ heroku create tryangular4 Creating ⬢ tryangular4yassy... done https://tryangular4.herokuapp.com/ | https://git.heroku.com/tryangular4.git
$ git push heroku master
で、deployする。。。デプロイ成功!上記で作成されたurlにアクセスすると、デプロイされているか確認できる(^^)