为什么svelteKit/Node只加载首页的js等资源?

问题描述 投票:0回答:1

我的 sveltekit 网站在 Nodejs 服务器上的构建似乎会在主页上加载所有资源,并将它们带到页面,但直接加载到页面上不会加载正确的资源。

Properly Loaded Page 进入主页后,所有资源均已加载,并且网站可以正常运行。资产在从一个页面导航到另一个页面时保持加载状态,但刷新或直接跟随 URL 会破坏这一点。

Site with no assets 如果页面不在主页上时刷新,则检查中看到的所有资源均未加载,并且 onMount JS 函数未运行并正确加载标头。

我已确保所有节点模块都是最新的,并且我正在运行 Node 20.12。然而,我对 svelte sveltekit 和 Node 缺乏经验。关于我需要做什么来解决这个问题有什么想法吗?

这是空的/损坏的页眉:

    <head>
        <meta charset="utf-8" />
        <link rel="icon" href="./favicon.png" />
        <script src="https://kit.fontawesome.com/89d8f38984.js" crossorigin="anonymous"></script>
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        
        <link href="./_app/immutable/assets/0.CgVQ2S1-.css" rel="stylesheet"><title>Outreach</title><!-- HEAD_svelte-12kwvgb_START --><meta name="description" content="The outreach events of the UA Nasa Robotics Mining Team. Helping and teaching out in the community of Akron"><meta name="keywords" content="NASA, Robotic Mining Competition, Lunabotics, Artemis, Moon to Mars, outreach, community, events, help, teach, volunteer"><meta name="author" content="uA NASA Robotic Mining Competition Team"><!-- HEAD_svelte-12kwvgb_END -->
    </head>

注意没有链接预加载模块链接,正确加载的页面是这样的:

    <head>
        <meta charset="utf-8" />
        <link rel="icon" href="./favicon.png" />
        <script src="https://kit.fontawesome.com/89d8f38984.js" crossorigin="anonymous"></script>
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        
        <link href="./_app/immutable/assets/0.CgVQ2S1-.css" rel="stylesheet">
        <link href="./_app/immutable/assets/2.I7UnUOAp.css" rel="stylesheet">
        <link rel="modulepreload" href="./_app/immutable/entry/start.C5jAzutL.js">
        <link rel="modulepreload" href="./_app/immutable/chunks/entry.CM5QWRvp.js">
        <link rel="modulepreload" href="./_app/immutable/chunks/scheduler.DZldofIX.js">
        <link rel="modulepreload" href="./_app/immutable/entry/app.KINXI3QZ.js">
        <link rel="modulepreload" href="./_app/immutable/chunks/index.BGW6N4qv.js">
        <link rel="modulepreload" href="./_app/immutable/nodes/0.Bdfgo2Gn.js">
        <link rel="modulepreload" href="./_app/immutable/chunks/each.D6YF6ztN.js">
        <link rel="modulepreload" href="./_app/immutable/chunks/stores.BXLrAGVc.js">
        <link rel="modulepreload" href="./_app/immutable/chunks/Logo.CbnnVDWC.js">
        <link rel="modulepreload" href="./_app/immutable/nodes/2.D7JicPhI.js"><title>Home</title><!-- HEAD_svelte-ck10j9_START --><meta name="description" content="UA Nasa Robotic Mining Competition Team, University of Akron Design Team"><meta name="keywords" content="NASA, Robotic Mining Competition, Lunabotics, Artemis, Moon to Mars, design team"><meta name="author" content="UA NASA Robotic Mining Competition Team"><!-- HEAD_svelte-ck10j9_END -->
    </head>

这些示例是两个不同的页面,但请忽略这一点。所有页面都以这种方式运行。 这种情况也发生在不同版本的 svelte 之间。我尝试恢复到旧版本以防万一。

javascript node.js sveltekit sveltekit-adapter-node
1个回答
0
投票

我找到了答案。 每个路由都有一个 page.js 为其定义一些属性,包括是否应该作为静态页面提供服务,以及是否应该使用不带 js 的服务作为简化步骤,称为客户端渲染。我刚刚在每个页面上启用了这个

csr
值。

© www.soinside.com 2019 - 2024. All rights reserved.