私はJavascriptとsvelteエコシステム全体に不慣れで、svelte.jsを使用してフラスコを使用してアプリを構築しようとしています。問題はThe requested URL was not found
、パスを手動で入力するか、ページを更新すると発生することです。これは、package.json で --single フラグを渡したにもかかわらず発生します。奇妙なことに、ルートにパラメーターが関連付けられている場合にのみ問題に直面します。/article/:id
. ただし、パス/article
を手動で入力するか更新しても問題はありません。
これはpackage.jsonのスニペットです
{
"name": "svelte-app",
"version": "1.0.0",
"scripts": {
"build": "rollup -c",
"dev": "rollup -c -w",
"start": "sirv public --single",
"start:dev": "sirv public --dev --single"
},
"devDependencies": {
"rollup": "^2.3.4",
"rollup-plugin-livereload": "^2.0.0",
},
"dependencies": {
"gridjs": "^5.0.2",
}
}
これが私の App.svelte ファイルのスニペットです
<script>
import {onMount} from 'svelte';
import page from 'page';
import Home from './pages/Home.svelte';
import ArticleOverview from './pages/ArticleOverview.svelte';
import SingleArticle from './pages/SingleArticle.svelte';
let current;
let params;
onMount(async () => {
const res = await fetch(`/some_api`);
const outcome = await res.json().then((outputDetails) => {
console.log(outputDetails);
});
});
page('/', () => (current = Home));
page('/article', () => (current = ArticleOverview));
page('/article/:id',
(ctx, next) => {
params = ctx.params
next()
},
() => (current = SingleArticle));
page('/*', () => (current = NotFound));
page.start();
</script>
<svelte:component this="{current}" params="{params}"/>