FirebaseのStorageを使ってHtml、Javascript、Cssで作ったものを公開してみる。

※ 当サイトではアフィリエイト広告を利用しています。リンクは広告リンクも含みます。

この記事は約6分で読めます。

Googleが提供しているFirebase のStorageとは、写真や動画などのファイルをクラウドに保存できるサービスです。これを利用してHtml、Javascript、Cssをアップロードすれば公開できます。firebaseのHostingというのが本来アプリを公開するサービスです。Html、Javascript、Cssで作ったものをHosting用に改造するのは、ちょっと複雑です。今回、使った方法はHostingに比べて簡単なのですが、こういう使い方をしていいのか、ちょっと疑問があるので参考程度にお読みください。しばらく公開して様子を見ようと思います。何かあったら加筆します。

2026/4/2追記
Cloud Storage for Firebase を使用するにはプロジェクトが従量課金制の Blaze のお支払いプランに登録されていることが求められるようになったようです。
私は、登録してないので使えなくなりました。

https://firebase.google.com/docs/storage/faqs-storage-changes-announced-sept-2024?hl=ja&authuser=0&_gl=1*1b5sym4*_ga*MTYwOTI3ODE4OS4xNzc1MDcxNDY4*_ga_CW55HF8NVT*czE3NzUwNzE0NjckbzEkZzEkdDE3NzUwNzE0OTUkajQxJGwwJGgw


完成品 イチゲのポートフォリオ(2026/4/2追記、現在エラーになります。上記参照)
もとはこちら↓で作ったものです。

【初心者向け】ホームページ制作学習、無料で公開までする方法【HTML、CSS、JavaScript】
HTML、CSS、JavaScriptの学習から制作、公開までパソコンに何もインストールなしで無料でやる方法です。完成したWebページは無料サーバーにアプロードして公開します。その方法もご紹介します。完成品イチゲのポートフォリオポートフォリ…

同じデザインでモダンJavascriptを使って作りました。

【初心者向け】Vuetify3+Firebaseでホームページを作って無料で公開してみた。
Vuetify3で作ったホームページをXFREE(→2025/7/31終了のためシンレンタルサーバー に移動、現在有料)、Firebase Storage、Firebase Hostingの3つのやり方で公開してみました。Vuetifyは、…
広告
MINISFORUM日本公式ストア

FirebaseのStorageの使い方

Sparkプラン(無料プラン)

Spark プラン(無料プラン)のCloud Strageのところに上限が書いてあります。5Gbまで保存できます。無料で使えると思いますが、説明を読んでもよくわかりません。Googleにクレカ登録してる方は、別のところに他のサービスの設定で有料プランに自動で切り替わるようなことも書いてあるので気を付けたほうがいいかもしれません。私はクレカ登録していないで使ってます。課金されるようだったらブログ記事で更新します。料金に関してこちらで考察しています。↓↓

【初心者向け】【FirestoreとHosting編】Vuetify3(Vue.js3)とFirebaseを使って掲示板アプリをつくってみました。
Vuetifyは、Vue.jsベースのユーザーインターフェースが簡単に作れます。Firebaseは、Googleが提供するモバイルおよびWebアプリケーションのためのプラットフォームです。今回その中のCloud Firestore(データベ…

設定

Googleアカウントでログインした状態でFirebaseへアクセス→コンソールへ移動(右上にある)→プロジェクトを追加→任意のプロジェクト名を入力→続行→Googleアナリスティクスを使っていなければ「Googleアナリスティクスを有効にする」をOFF(私はOFF)にして続行→プロジェクトを作成→続行。
左の構築のstorageをクリック→始める→テストモードで開始する(後で解説します)→ロケーションは私はasia-northeast1東京を選びました。(参照ロケーション)→完了
操作方法は
「ファイルのアップロード」やその隣のフォルダーマーク、ファイル名の横のチェックマークを付けると削除できたり、直感的にわかると思います。
またフォルダを作ったあと「ファイルのアップロード」で複数のファイルを選択すれば一気にアップロードできます。
各ファイルをクリックすると右側の「名前」というところをクリックするとファイルが開きます。

相対パスが使えない。

ファイルのリンク先を公開していいのかどうかが疑問な点です。自己責任でお願いします。
相対パスが使えないので絶対パスに修正する必要があります。

<link rel="stylesheet" href="css/style.css">
を修正する場合、以下のようにファイルが保存してある場所のリンクをコピーします。
リンクは以下のようになります。今回は入れていませんが、もしプロジェクトにAuthenticationを入れた場合、最後のurlパラメータ(赤)が付きます。これはなくてもいいので削除します。
urlパラメータとはurlの?から後ろの部分でプログラムで利用する部分になります。複数ある場合は&で区切られています。
 https://firebasestorage.googleapis.com/v0/b/storage-681e6.appspot.com/o/ichige_portfolio%2Fcss%2Fstyle.css?alt=media&token=a4dc2545-eb84-4459-ae4e-388eb7a6081b&_gl=1*3qgcc1*_ga*MTk5ABCzMDc2Ny4xNjg1NjUxNzc0*_ga_CW55HF7NVT*MTY4NjUxNjEyOC19Mi4xLjE11AZ1MTk0NjYuMC4wLjA.
以下も参考にしてください。
【初心者向け】【画像投稿(Storage)編】Vuetify3(Vue.js3)とFirebaseを使って掲示板アプリをつくってみました。
Storageを使って画像アップロード、表示、削除をしてみました。また、Storageに保存したファイルを直接外部から参照できるのか検証しました。下が完成品ですが、記事内で紹介してるコード以外に追加して投稿時以外も画像が表示するようにしてい…
リンクを張り付けて修正します。
<link rel="stylesheet" href="https://firebasestorage.googleapis.com/v0/b/storage-681e6.appspot.com/o/ichige_portfolio%2Fcss%2Fstyle.css?alt=media&token=a4dc2545-eb84-4459-ae4e-388eb7a6081b">
同じ要領ですべての相対パスを絶対パスに変更します。

FirebaseのStorageとXFREE(Webサーバー)で何が違うのか

同じファイルをアップロードしてリンクを比較するとドメイン+ディレクトリ+ファイル名は同じですが。
Firebaseは赤色のurlパラメータがついてます。

(追記)http://ichige2.html.xdomain.jp/は廃止になったのでつながりません。

XFREE(Webサーバー)
http://ichige2.html.xdomain.jp/ichige_portfolio/index.html

FirebaseのStorage
 https://firebasestorage.googleapis.com/v0/b/storage-681e6.appspot.com/o/ichige_portfolio%2Findex.html?alt=media&token=b5c111c9-3b77-488m-51b2-c1dbb7aec621%2FはUTF-8コードで'/'です。なぜここだけ%2Fを使うのかは不明。

最後のurlパラメータ&token=b5c111c9-3b77-488m-51b2-c1dbb7aec621を消してアクセスすると以下のように表示します。
{
    "error": {
        "code": 403,
        "message": "Permission denied."
    }
}
403 はHTTPステータスコードのひとつで、閲覧禁止を示すエラーメッセージです。
なのでこのurlパラメータがないと表示できません。
&token=の値はファイルごとに違うので別にurlに載っていても問題ないような気はします。

ちなみにURLに含まれる%については下記参照。
【Python】日本語のURL表示がおかしいときの対策【URLエンコード】
日本語を含んだURLをメモ帳などに貼り付けてもわかりますが日本語の部分が%〇~に変換されてます。原因はURLエンコード されているからです。URLエンコード(パーセントエンコーディング) とは何かの解説とPythonで日本語表示に直すやり方…

心配なので、私は、こう使っています。

firebaseの説明読んでもよくわからないので私は以下のように使っているので参考にしてください。

  • クレジットカード登録はしない。
  • StorageやCloud storeには見られてもいいものしかアップロードしない。
  • 使用状況は頻繁に確認して課金されていないか確認する。
  • Authenticationを入れた場合、Storageの各ファイルのリンクの最後のurlパラメータは削除する。
  • Rulesというので閲覧制限できそうですが、できませんでした。プログラムで使用するときしか反映されません。

あとがき

無料で使うつもりですが様子見ながら使ってます。何かあったら記事更新します。
この形でホームページを運用できるのか気になる点

  • アクセス数によって無料枠を飛び越えてしまう。有料契約したとして定額無制限のレンタルサーバーよりランニングコストはいいのか?
  • GoogleのサービスとはいえGoogle検索で優位にしてくれるかというと多分関係ないと思います。それをしてしまうとGoogle検索の結果の質が(さらに🤣)低下して、みんなが使わなくなるかも。

次回、Vuetify3とFirebaseで同じものを作ってみます。

イチゲをOFUSEで応援する(御質問でもOKです)Vプリカでのお支払いがおすすめです。
MENTAやってます(ichige)

コメント

タイトルとURLをコピーしました