z_blog:2018:index.html
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| z_blog:2018:index.html [2018/12/15] – 作成 adash333 | z_blog:2018:index.html [2018/12/24] (現在) – [Vue.jsとFirebaseの参考リンク] adash333 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ===== 181215 改訂新版 Vue.jsとFirebaseで作るミニWEBサービスをCodeSandboxで写経してみる ===== | + | ===== 181215 改訂新版 Vue.jsとFirebaseで作るミニWEBサービスをCodeSandboxで写経してみる(1) |
| Vue.jsの入門のために、以下の本を写経しているが、面白い!Vue.jsってどんな感じなのかな?とか、WEBアプリを作ってみたいと願う初心者の方に、本当におすすめです。 | Vue.jsの入門のために、以下の本を写経しているが、面白い!Vue.jsってどんな感じなのかな?とか、WEBアプリを作ってみたいと願う初心者の方に、本当におすすめです。 | ||
| 行 10: | 行 10: | ||
| CodeSandboxは、無料のオンラインWEBアプリケーション開発環境です。2017年にサービスが開始され、2018年12月現在、React.js、Angular、Vue.jsなどのJavascriptフレームワークを用いたプログラミングを、登録無しに瞬時に行うことができます。nowというサイトの連携で、無料で公開することもできます。 | CodeSandboxは、無料のオンラインWEBアプリケーション開発環境です。2017年にサービスが開始され、2018年12月現在、React.js、Angular、Vue.jsなどのJavascriptフレームワークを用いたプログラミングを、登録無しに瞬時に行うことができます。nowというサイトの連携で、無料で公開することもできます。 | ||
| + | |||
| + | ===== リンク ===== | ||
| + | [[z_blog: | ||
| + | |||
| + | |||
| + | [[z_blog: | ||
| ===== 開発環境 ===== | ===== 開発環境 ===== | ||
| 行 23: | 行 29: | ||
| ===== Vue.jsアプリの新規作成 ===== | ===== Vue.jsアプリの新規作成 ===== | ||
| + | |||
| + | https:// | ||
| + | {{: | ||
| + | |||
| + | Vue をクリック。これでVue.jsの開発環境が整います。 | ||
| + | {{: | ||
| + | |||
| + | 今回は、保存したものを後で呼び出しやすいように、GitHubアカウントでログインします。 | ||
| + | {{: | ||
| + | |||
| + | 途中でCtrl+Sを押せば、保存されます。後で、Dashboardで保存した途中から開始することができます。 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | 画面一番左の上から2番目のアイコンをクリック | ||
| + | {{: | ||
| + | |||
| + | Vue Templateの右側の鉛筆ボタンをクリックして、好きな題名に変更します。 | ||
| + | {{: | ||
| + | |||
| + | 今回は、MyMarkdown2 としました。 | ||
| + | {{: | ||
| + | |||
| + | ===== Firebaseアプリの新規作成 ===== | ||
| + | データをインターネット上で見られるようにするために、Firebaseを利用します。Googleアカウントは作成済みとします。 | ||
| + | |||
| + | https:// | ||
| + | |||
| + | から、プロジェクとの追加 で、プロジェクト名を、例えば、mymarkdownで新規作成します。 | ||
| + | |||
| + | アプリ作成後の画面で、3つあるアイコンの一番右のアイコンをクリックして出てくる、「ウェブアプリにFirebaseを追加」のコードをコピーして、Vue.jsファイル群のindex.html内の</ | ||
| + | |||
| + | Firebaseの画面 | ||
| + | {{: | ||
| + | |||
| + | Vue.jsプロジェクトの画面(index.html) | ||
| + | |||
| + | (変更前) | ||
| + | {{: | ||
| + | |||
| + | (変更後) | ||
| + | {{: | ||
| + | |||
| + | ===== Vueアプリにfirebaseをインストール ===== | ||
| + | |||
| + | 通常の開発環境では、ターミナル画面で、npm install firebase --saveと打ち込みますが、CodeSandboxでは、以下のように行います。 | ||
| + | |||
| + | Dependencies をクリック | ||
| + | {{: | ||
| + | |||
| + | Add Dependency をクリック | ||
| + | {{: | ||
| + | |||
| + | Search or ...のところに、firebaseと入力して | ||
| + | {{: | ||
| + | |||
| + | firebaseのnpmをインストール | ||
| + | {{: | ||
| + | |||
| + | これで、Dependenciesのところに、firebaseが追加されました。 | ||
| + | |||
| + | ===== Googleアカウントでのユーザー登録と、ログイン状態の判別 ===== | ||
| + | |||
| + | コンポーネントの作成 | ||
| + | |||
| + | src/ | ||
| + | {{: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | src/ | ||
| + | |||
| + | (変更前) | ||
| + | {{: | ||
| + | |||
| + | (変更後) | ||
| + | {{: | ||
| + | |||
| + | ===== Firebaseでログイン前とログイン後でページ遷移 ===== | ||
| + | App.vueにおいて、isLoginがtrueかfalseかで、v-ifを使用し、ログインの有無により表示するページを変える。 | ||
| + | |||
| + | < | ||
| + | <div id=" | ||
| + | <Home v-if=" | ||
| + | <Editor v-if=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Firebaseの管理画面でAuthenticationタブを開き、「ログイン方法」で、GoogleのステータスをONにする。 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Googleログインの実装 | ||
| + | |||
| + | components/ | ||
| + | |||
| + | (変更後) | ||
| + | {{: | ||
| + | |||
| + | App.vueを編集 | ||
| + | {{: | ||
| + | |||
| + | |||
| + | これで、CodeSandboxではうまくいかなくて悩んだ。 | ||
| + | |||
| + | →firebaseのアプリの画面で、Authentication > ルール の下の方で、codesandbox.io (できれば、サブドメインまで入れた方が安全)を、承認済みドメインに追加する必要があった。 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | すると、Googleログインできるようになり、ログイン後は、Editor画面に移動された。 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ===== Firebaseでログイン後のページの表示 ===== | ||
| + | Firebaseにログイン後の、ログインした人のデータは、「user」に格納されているため、App.vueでthis.userData=userにより、userDataに格納し、それを、Editor.vueで受け取る。 | ||
| + | |||
| + | components/ | ||
| + | |||
| + | (変更前) | ||
| + | {{: | ||
| + | |||
| + | (変更後) | ||
| + | {{: | ||
| + | |||
| + | このままではEditor.vueが真っ白なので、App.vueを編集。 | ||
| + | < | ||
| + | <Editor v-if=" | ||
| + | </ | ||
| + | |||
| + | {{: | ||
| + | |||
| + | これで、firebaseからApp.vueを介して、Editor.vueにログインした人のdisplayNameが受け渡され、表示することができた。 | ||
| + | |||
| + | |||
| + | 続きは[[z_blog: | ||
| + | |||
| + | |||
| + | |||
| + | ===== ソースコード ===== | ||
| + | |||
| + | < | ||
| + | <iframe src=" | ||
| + | </ | ||
| + | ===== Vue.jsとFirebaseの参考リンク ===== | ||
| + | |||
| + | |||
| + | https:// | ||
| + | vue-firebase demo | ||
| + | |||
| + | |||
| + | https:// | ||
| + | vue-firebase-auth | ||
| + | |||
| + | https:// | ||
| + | Vue + Firebase + Auth Demo | ||
| + | |||
| + | ===== メニュー ===== | ||
| + | [[z_blog: | ||
| + | |||
| + | https:// | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== 今回写経した本 ===== | ||
| + | Vue.js初めての方にお勧めです。 | ||
| + | |||
| + | < | ||
| + | <iframe style=" | ||
| + | </ | ||
z_blog/2018/index.html.1544874765.txt.gz · 最終更新: 2018/12/15 by adash333
