SvelteKit - 部署 - @sveltejs/adapter-static 不更新后备页面中的静态路径

Dan*_*rra 5 typescript svelte svelte-component svelte-3 sveltekit

我是第一次探索 SvelteKit,我构建了我的第一个简单应用程序,我想将其作为静态页面部署到我的 Apache 服务器

据我了解适配器静态是可行的方法,所以我安装了它并将我的svelte.config.js文件更改为:

import preprocess from 'svelte-preprocess';
import adapter from '@sveltejs/adapter-static';

/** @type {import('@sveltejs/kit').Config} */
const config = {
    preprocess: preprocess(),

    kit: {
        adapter: adapter({
            paths: { base: "/PERSONAL_PATH" },
            fallback: 'index.html',
            precompress: false,
        })
    }
};

export default config;
Run Code Online (Sandbox Code Playgroud)

现在:

运行npm run build没有任何错误,问题是当我检查index.html页面的所有依赖项(或者样式表和 JS 文件的 URL,如果你愿意的话......)时,有两个问题,如下所示:

  1. 具有绝对路径,这使得无法将页面源移动到任何其他位置
  2. 不在PERSONAL_PATH我希望的文件夹中

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <meta name="description" content="" />
        <link rel="icon" href="./favicon.png" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <meta http-equiv="content-security-policy" content="">
    <link rel="modulepreload" href="/_app/start-25574c6c.js">
    <link rel="modulepreload" href="/_app/chunks/vendor-868763d8.js">
    </head>
    <body>
        <div>
        <script type="module" data-hydrate="45h">
        import { start } from "/_app/start-25574c6c.js";
        start({
            target: document.querySelector('[data-hydrate="45h"]').parentNode,
            paths: {"base":"","assets":""},
            session: {},
            route: true,
            spa: true,
            trailing_slash: "never",
            hydrate: null
        });
    </script></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我哪里理解错了?我已经尝试了几个小时来解决这个问题,但现在我陷入了困境。

Dan*_*rra 5

好吧,我发现我设置了错误的参数,所以我修复了它,这是工作原理svelte.config.js(意味着这个配置实际上将静态文件设置为自定义路径,必须是绝对路径):

    import preprocess from 'svelte-preprocess';
    import adapter from '@sveltejs/adapter-static';

    /** @type {import('@sveltejs/kit').Config} */
    const config = {
        preprocess: preprocess(),

        kit: {
            // SET THE PATHS HERE
            paths: { assets: "", base: "/PERSONAL_PATH" },
            adapter: adapter({
                // NOT HERE!
                // paths: { base: "/PERSONAL_PATH" },
                fallback: 'index.html',
                precompress: false,
            })
        }
    };

    export default config;

Run Code Online (Sandbox Code Playgroud)