LoginSignup
2
5

More than 5 years have passed since last update.

"Ng6PwaSample" Angular6で作成したPWAのサンプルプロジェクト

Posted at

Ng6PwaSampleは、Angular6でPWA(Progressive Web Apps)を実現したいと考えている開発者のためのサンプルプロジェクトです。

フルソースコード,
https://github.com/Ohtsu/ng6-pwa-sample

ビデオ解説 (日本語),
https://youtu.be/XMA1gyyYEr8

ビデオ解説 (英語),
https://youtu.be/b1SUOBI1CiA

概要

  • Ng6PwaSample はAngular6のng add @angular/pwaコマンドによって作成されたPWAのサンプルプロジェクトです。

  • Ng6PwaSample はAngular Materialのmat-grid, mat-card, mat-menu, mat-iconなどを使用しています。

  • Ng6PwaSample はd3.js(ver4.3) 及びng6-o2-chartを利用しています。

前提条件

  • node.js
  • Typescript2
  • Angular6
  • http-server

インストール

このプロジェクトをインストールするには、以下を実行します。

$ npm install 

プロジェクトのビルド

プロダクションモードでプロジェクトをビルドする必要があります。

$ ng build --prod

ローカルサーバーの起動

distディレクトリが生成されましたら、その中のNg6PwaSampleディレクトリに移ります。
まだ、http-serverをインストールされていない場合には、以下のように事前にインストールしておいてください。

$ npm install http-server -g

次にhttp-serverを以下のように起動します。

$ http-server --port 8080

そしてブラウザで http://localhost:8080 にアクセスします。
以下のように表示されます。

  • First Page

オフラインモードでのチェック

次にChromeにおいて、control + shift + iキーを押して、デベロッパー・ツールを表示します。
そしてアプリケーション・タブページの中のサービスワーカーを開きます。
ここでオフラインにチェックを入れ、オフラインすなわちインターネットに接続できない状態にします。

通常のWebアプリケーションの場合、オフラインにすると、以下のようなエラーメッセージが表示されてしまいます。

しかしながら、PWAの機能を利用すると、オフラインになっても以下のようにエラーメッセージは表示されません。これはサービスワーカーがオフラインを検知し、キャッシュに切り替えて表示しているからです。

バージョン

  • Ng6PwaSample : 0.0
  • Angular6 : 6.0.3
  • TypeScript : 2.7.2
  • @angular/material : 6.2.1
  • @angular/pwa : 0.6.8
  • @angular/service-worker : 6.0.3
  • d3.js : 4.3.0
  • ng6-o2-chart : 0.4.0

参考文献

更新ログ

  • 2018.8.2 version 0.0 uploaded

Copyright

copyright 2018 by Shuichi Ohtsu (DigiPub Japan)

License

MIT © Shuichi Ohtsu

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5