// eslint.cjs
rules: {
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-non-null-assertion": "off",
// for svelte
"@typescript-eslint/consistent-type-imports": [
"error",
{ prefer: "type-imports" },
],
},
degitでは、デフォルトで
http://localhost:5000/
が使用されます。macOS Monterey以降を使用している場合は、AirPlay Receiverがポート5000を使用しているので正しく動作しません。
portを明示する
"start": "sirv public --no-clear --port 8080"
propsを定義するところはload関数でpropsをアウトプットしたscriptタグとは別に作る。最初わからなかった。
<script context="module" lang="ts">
import type { Load } from '@sveltejs/kit';
import type { Post } from 'src/types';
export const load: Load = async ({ fetch }) => {
const response = await fetch('https://jsonplaceholder.typicode.com/posts');
const posts = (await response.json()) as Post[];
return {
props: {
posts: response.ok && posts
}
};
};
// これはダメ
export let posts: Post[];
</script>