TypeScriptの基本
kurumin
プログラミングのーと
まず、microCMS SDKとVue.jsのCDNを読み込みます。
<!-- microCMS SDK -->
<script src="https://cdn.jsdelivr.net/npm/microcms-js-sdk/dist/umd/microcms-js-sdk.min.js"></script>
<!-- Vue.js -->
<script src="https://cdn.jsdelivr.net/npm/vue@3/dist/vue.global.js"></script>SDKとは、開発者が特定のプラットフォームやサービスを使うために必要なツールセットで、CDNとは、ウェブ上で公開されているライブラリを簡単に使えるようにするサービスです。
// microCMSの認証設定
const { createClient } = microcms;
const client = createClient({
serviceDomain: 'qc1v7w07dz', // XXXX.microcms.io の XXXX 部分
apiKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
});
// Vue.jsアプリケーションの設定
const { ref, onMounted, createApp } = Vue;
// アプリケーションを作成
const app = createApp({
setup() {
// 変数の定義
const lists = ref({});
// 日付フォーマット(0000年0月0日)
const formatDate = (inputDate) => {
const date = new Date(inputDate);
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
return `${year}年${month}月${day}日`;
};
onMounted(async () => {
try {
// APIを呼び出します
client
.get({
endpoint: 'news',
queries: queries
})
.then((res) => {
// データをリアクティブな変数に代入します
lists.value = res.contents;
console.log(lists)
});
} catch (err) {
// エラーが発生した場合
console.error('mounted ERROR!!', err);
}
});
// 他の場所(html)で使うために変数を返します
return {
lists,
formatDate
};
},
});
// アプリケーションを「#app」要素にマウントします
app.mount('#app');// microCMSの認証設定
const { createClient } = microcms;
const client = createClient({
serviceDomain: 'qc1v7w07dz', // XXXX.microcms.io の XXXX 部分
apiKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
});これはmicroCMSのクライアントを作成するための関数です。
これはサービスのドメイン名にあたる部分で、「XXXX.microcms.io」の「XXXX」の部分に対応します。
microCMSのAPIキーです。このキーを使って、認証された通信を行います(安全のため、通常は環境変数などで管理します)。
const { ref, onMounted, createApp } = Vue;Vueのリアクティブな値を作成するための関数。このコードでは`lists`というリアクティブ変数を作っています。
コンポーネントがマウントされたときに実行される関数。
Vueアプリケーションを作成するための関数。
// アプリケーションを作成
const app = createApp({
setup() {
// 変数の定義
const lists = ref({});
// 可能ならここに日付フォーマット(0000年0月0日)の関数formatDate()を作成する
onMounted(async () => {
try {
// APIを呼び出します
client
.get({
endpoint: 'news',
queries: queries
})
.then((res) => {
// データをリアクティブな変数に代入します
lists.value = res.contents;
console.log(lists)
});
} catch (err) {
// エラーが発生した場合
console.error('mounted ERROR!!', err);
}
});
// 他の場所(html)で使うために変数を返します
return {
lists,
formatDate // 日付フォーマット関数を作成した場合
};
},
});コンポーネントのデータやメソッドを定義し、使用するための関数です。
APIから取得したニュースデータを格納するための変数です。
日付を「XXXX年XX月XX日」という形式にフォーマットするための関数です。
コンポーネントが初めて表示されたときに、microCMSのAPIを呼び出して「news」エンドポイントからデータを取得します。取得されたデータは`lists`に保存されます。
アプリケーションをページ内の特定の要素に関連付けます。
app.mount('#app');このVueアプリケーションをHTML内の`<div id=”app”>`にマウントします。これで、VueのデータとメソッドをそのHTML要素と連動させることができます。
// microCMSの認証設定
const { createClient } = microcms;
const client = createClient({
serviceDomain: 'qc1v7w07dz', // XXXX.microcms.io の XXXX 部分
apiKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
});
// Vue.jsアプリケーションの設定
const { ref, onMounted, createApp } = Vue;
// アプリケーションを作成
const app = createApp({
setup() {
・・・省略
},
}); // 変数の定義
const lists = ref({});取得したデータをlistsに格納する。これで、テンプレート側でlistsを使ってデータを表示できるようになる。
onMounted(async () => {
try {
// APIを呼び出します
const res = await client.get({
endpoint: 'news',
queries: queries
});
// データをリアクティブな変数に代入します
lists.value = res.contents;
console.log(lists)
} catch (err) {
// エラーが発生した場合
console.error('mounted ERROR!!', err);
}
}); // 他の場所(html)で使うために変数を返します
return {
lists,
formatDate
};// アプリケーションを「#app」要素にマウントします
app.mount('#app'); // 日付フォーマット(0000年0月0日)
const formatDate = (inputDate) => {
const date = new Date(inputDate);
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
return `${year}年${month}月${day}日`;
};