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,如果你愿意的话......)时,有两个问题,如下所示:
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)
我哪里理解错了?我已经尝试了几个小时来解决这个问题,但现在我陷入了困境。
好吧,我发现我设置了错误的参数,所以我修复了它,这是工作原理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)
| 归档时间: |
|
| 查看次数: |
4052 次 |
| 最近记录: |