TypeScriptで依存ライブラリ側のstreamやBufferなどNode.jsコアモジュールのエラーが出るときは、tsconfig.jsonのcompilerOptions.typesに「node」を1行追加するだけで解決します♪
ヘッドレスブラウザPhantomJSのラッパー「NightmareJS」で大量の画面キャプチャを自動保存する方法。インストールからスクリーンショット保存、複数画面の一括キャプチャ、レスポンシブ、スクロール領域の全体キャプチャまで♪
TypeScriptでcanvasのtoDataURLを使うと出る「Property 'toDataURL' does not exist on type 'HTMLElement'.」の原因と対処法。取得したcanvas要素の型をasでキャストするか、ジェネリックで明示的に指定すれば解決します♪
PWAアプリのインストールボタンのクリック・インストール・キャンセルの3イベントをGoogle Analyticsに送信して集計する方法。gaのevent処理を追加するだけ。ストアを介さないPWAでは貴重なデータになります♪
PWAアプリのインストールダイアログをJavaScriptのbeforeinstallpromptイベントで制御し、ボタンを押したタイミングでインストールできるようにする方法。初回に断られると出なくなるダイアログの代わりに導線を用意します♪
PWA(Progressive Web Apps)の概要と、既存サイトをPWA対応にするやり方まとめ。manifest.jsonとService Workerを用意してホーム画面追加やキャッシュに対応させ、GoogleAnalyticsでPWA経由の流入を見るところまで♪
Vue-CLI3のプロジェクトをルート以外のサブディレクトリにデプロイするときのURL設定。vue.config.jsにpublicPathを書くだけです。Vue-CLI2のassetsPublicPathは廃止、baseUrlも非推奨になっています♪
TypeScriptでFileReaderのevent.target.resultをstring型のフィールドに代入するとコンパイルエラーになる原因は、戻り値がstring | ArrayBuffer型だから。フィールドの型定義を合わせれば解決します♪
Vue-CLI3で作ったVueプロジェクトにBootstrap4ベースのUIフレームワーク「Bootstrap-vue」を導入する方法。vue addコマンドで追加し、公式ドキュメントのカードコンポーネントで動作確認するまで。シンプルで使いやすいです♪
GitHub Actionsで特定ブランチへのマージをトリガーにAWS-cliでS3へファイルを転送するWorkflowを組んでみました。利用申請、Hello Worldでの確認、Secretの登録、Workflowの定義、cdの注意点、料金についても♪