0

私は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}"/>
4

1 に答える 1