【初心者向け】クラウド完結！Web開発環境クッキングレシピ[ver 2019.11]-その２

[【初心者向け】Online完結！Web開発環境クッキングレシピ[ver 2019.11]-その１、の続きです](https://qiita.com/yellow-strelitzia/items/de1c489908792a65436e)

####手順.5 node.jsで実行するコードを整備する
ログインしたGitpodのページで画面下部のところが、Terminalになっています。
ここで、コマンドを入力して、node.js用のコードを整備していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/17cfeb88-48f5-e178-ea84-a727c323c7a9.png)

```
npm init
```

すべての質問にEnterとして終了させます
今の質問の中で、entry pointをデフォルトのindex.jsで回答したことになり、この情報がpackage.jsonファイルに記載されたので、index.jsという名前のJavascriptコードを用意します
ページの左上にある、Fileメニューを選択し、New Fileのメニューアイテムを選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/c9346c8c-2dd2-117a-9742-f9e1a6893882.png)
ダイアログに、index.jsと入力して、OK を押します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/cbcd33bc-bdb3-9c23-e85e-8d8c373fc43a.png)

index.jsというタブが表示され、コードが入力できますので、下記の通り、コードを入力し、Ctrl+Sで、保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/da757ac2-853b-80ca-7b9c-fc2dc3e40ec8.png)

```index.js
let port = process.env.PORT || 5000;
const http = require('http');
http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(port, () => console.log('Server http://localhost:'+port));
```

続いて、npm initで生成された package.json を編集します

```
  "scripts": {
    "start": "node index.js",　　この行を追加
    "test": "echo \"Error: no test specified\" && exit 1"
  },
```


####手順.6 node.jsで実行してみる
ページの下部にあるTerminalで、npm run startと入力してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/ab182151-341e-14eb-0483-98d135b4e18a.png)
下記のダイアログが表示されますので、Exposeをクリックし、その次に、Open Browserをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/f2526619-2909-1852-45bc-3e98a69b50cc.png)
GoogleChromeであれば、別のタブが開き、Hello Worldと表示されます。
これはすなわち、WebServerがPort3000で起動し、かつそのサーバーにアクセスするブラウザを開いたことになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/e74b2e80-22ca-3569-3ad6-60c710222800.png)
Terminalに戻り、Ctrl+Cを入力して、サーバーを終了させます。

####手順.7 リポジトリを更新させる
npm initやindex.js追加などを行ったので、画面左のファイルの一覧がUマークが付いた状態になります。これをGitHubのリポジトリへ更新させます。

一番左側のアイコンのある列の真ん中（Source Control:Git）を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/114d5fb3-5003-0015-ee69-5529fab50fa0.png)
CHANGESの下に変更ファイルがリストされます。ファイルの場所へマウスを移動すると小さなアイコンが表示されるので、index.js, package.json ともに　＋　のボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/33a94c63-6801-1a59-bbee-d736b28af365.png)
すると、STAGED CHANGESにindex.js, package.jsonが含まれますので、STAGED CHANGESの上にあるメッセージ入力部に、
index.js, package.json追加
と入力して、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/25953af7-1877-3d31-dd01-0923ff5dda6e.png)
さらにその上にあるチェックのボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/431415e4-66ac-1984-9576-24598cc93e66.png)
この時点で、ローカルGITへのコミットが完了しています。

今度はページ一番右のGitHubのアイコンをクリックすると、Push、というボタンが見えますので、これをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/e9a48517-f506-9f9f-5c31-ade542b82b1c.png)
このようなダイアログが表示されるかもしれないので、Grant Permission を
クリックします。
![Image1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/ee838187-d024-11e2-e0da-0947bc870c3c.png)

Authorize gitpod-ioをクリック、Gitアカウントのパスワードを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/78b0c4fd-74c6-8fe0-b7d1-e34613c44b6e.png)
この画面が別ウインド（タブ）で表示されればOKです。元のブラウザのタブに戻ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530472/482fc2ec-f649-8756-9d60-bb899e1b8bed.png)

もう一度、Pushのボタンを押します。完了すると、Pushのボタンは表示されなくなります。
この時点で、GitHubのリポジトリは更新されました。

ここまでの設定で、GitHubのリポジトリに作成したnode.jsのサーバーをGitpod上で編集し、かつ実行できることが確認できました。

開発を実務で行うとすると、この手順６，７を繰り返すことになります。

長くなりましたので、続きは別の記事にしたいと思います。
[その３](https://qiita.com/yellow-strelitzia/items/23eb04ec37e7ae33bb15)