外部JavaScriptファイルの再利用とメンテナンス性を向上させる!GitHubからWebページへ読み込む手法
GitHub 上の外部 JavaScript ファイルをリンクして実行する方法
- コードの再利用: 複数のページで共通の機能を提供する JavaScript コードを、1 つのファイルにまとめることができます。
- メンテナンス性: コードを 1 箇所で更新すれば、すべてのページに反映されます。
- バージョン管理: コードの変更履歴を追跡し、古いバージョンに戻すこともできます。
方法
以下の 2 つの方法があります。
<script> タグを使う
最も簡単な方法は、<script>
タグを使って JavaScript ファイルを直接読み込む方法です。
<script src="https://raw.githubusercontent.com/user/repo/path/to/file.js"></script>
上記の例では、user/repo
リポジトリの path/to/file.js
ファイルを、https://raw.githubusercontent.com/
を使って読み込んでいます。
JavaScript で動的に読み込む
より柔軟な方法は、JavaScript で動的に読み込む方法です。これにより、読み込むファイルパスを条件によって変更したり、読み込み完了後に処理を実行したりすることができます。
<script>
const scriptURL = 'https://raw.githubusercontent.com/user/repo/path/to/file.js';
const script = document.createElement('script');
script.src = scriptURL;
script.onload = () => {
// ファイル読み込み完了後の処理
};
document.body.appendChild(script);
</script>
上記の例では、scriptURL
変数に読み込むファイルのパスを格納し、createElement()
メソッドを使って <script>
要素を作成しています。その後、src
属性にファイルパスを設定し、onload
イベントハンドラに読み込み完了後の処理を記述しています。最後に、appendChild()
メソッドを使って <script>
要素を DOM に追加しています。
注意点
- GitHub から JavaScript ファイルを読み込む場合、CORS によってアクセスが制限される可能性があります。その場合は、
Access-Control-Allow-Origin
ヘッダーを設定する必要があります。 - ファイルのパスを変更する場合は、常に最新バージョンを指していることを確認してください。
上記以外にも、CDN を使って JavaScript ファイルを配信したり、Webpack などのビルドツールを使ってコードを圧縮・結合したりする方法があります。
ご自身の用途に合った方法を選択してください。
<script> タグを使う
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>GitHub 上の JavaScript ファイルを読み込む</title>
</head>
<body>
<h1>GitHub 上の JavaScript ファイルを読み込む</h1>
<script src="https://raw.githubusercontent.com/user/repo/path/to/file.js"></script>
<script>
// ファイル読み込み完了後の処理
console.log('JavaScript ファイルを読み込みました');
</script>
</body>
</html>
説明
このコードは、以下のことを行います。
https://raw.githubusercontent.com/user/repo/path/to/file.js
ファイルを<script>
タグを使って読み込みます。- ファイル読み込み完了後に、
console.log()
メソッドを使って「JavaScript ファイルを読み込みました」というメッセージを出力します。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>GitHub 上の JavaScript ファイルを読み込む</title>
</head>
<body>
<h1>GitHub 上の JavaScript ファイルを読み込む</h1>
<script>
const scriptURL = 'https://raw.githubusercontent.com/user/repo/path/to/file.js';
const script = document.createElement('script');
script.src = scriptURL;
script.onload = () => {
// ファイル読み込み完了後の処理
console.log('JavaScript ファイルを読み込みました');
};
document.body.appendChild(script);
</script>
</body>
</html>
scriptURL
変数に読み込むファイルのパスを格納します。createElement()
メソッドを使って<script>
要素を作成します。src
属性にファイルパスを設定します。onload
イベントハンドラに読み込み完了後の処理を記述します。appendChild()
メソッドを使って<script>
要素を DOM に追加します。
注意事項
- 上記のコードはあくまでサンプルであり、実際の使用環境に合わせて変更する必要があります。
- ファイルのパスは、ご自身の環境に合わせて変更してください。
- コードの動作を確認するには、実際にブラウザで実行する必要があります。
GitHub 上の JavaScript ファイルをリンクして実行するその他の方法
npm パッケージを使う
もし、読み込む JavaScript ファイルが npm パッケージとして公開されている場合は、npm パッケージを使って読み込むことができます。
<script src="https://unpkg.com/@user/repo@version/dist/file.js"></script>
上記の例では、@user/repo
パッケージの version
バージョンの dist/file.js
ファイルを、https://unpkg.com/
を使って読み込んでいます。
利点
- 最新バージョンを常に読み込むことができます。
- コードを CDN から配信することができます。
- 読み込むパッケージが npm で公開されている必要があります。
- パッケージのバージョンを正しく指定する必要があります。
Browserify や Webpack などのビルドツールを使って、JavaScript ファイルをバンドルしてから読み込むこともできます。
- モジュールシステムを利用することができます。
- ビルドツールの設定が必要となります。
- コードが複雑になる可能性があります。
Service Worker を使って、JavaScript ファイルを非同期に読み込むこともできます。
- オフラインでも JavaScript ファイルを実行することができます。
- キャッシュを利用して読み込み時間を短縮することができます。
- Service Worker の実装が複雑です。
- ブラウザのサポート状況を確認する必要があります。
GitHub 上の JavaScript ファイルをリンクして実行するには、様々な方法があります。
- シンプルでわかりやすい方法:
<script>
タグを使う - 最新バージョンを常に読み込みたい場合: npm パッケージを使う
- コードを圧縮・結合したい場合: Browserify/Webpack を使う
- オフラインでも実行したい場合: Service Worker を使う
javascript github