使用最新的 SvelteKit (1.0.0-next.401) 我在使用语法从 lib 导入组件时遇到问题$lib。我收到错误和红色波浪线(即使导入和网络应用程序工作正常)。
错误信息如下:
找不到模块“$lib/components/shared/header.svelte”或其相应的类型声明。js(2307)
如果使用相对路径,错误就会消失。
在 __layout 文件中,我想传递一个变量,比如 btnclicked="HR",并且我想在 Slot 中渲染的组件中收集相同的变量?请帮忙怎么做?
问题是 - 如何在 SvelteKit 和 MongoDB 应用程序中实现 cookie 身份验证?意味着如何正确使用钩子、端点、建立数据库连接并将其显示在样板项目中。
我正在制作一个用户身份验证页面,就此而言,我正在使用 bcrypt 进行哈希处理。一切都很好,直到我在代码中实际使用 bcrypt 模块。在开发模式下运行它工作得很好,并且在预览构建时运行得很好,但在构建过程中会发生错误,部署时会导致它停止构建并出错。
\n这是错误:
\n> Using @sveltejs/adapter-vercel\n > node_modules/@mapbox/node-pre-gyp/lib/util/s3_setup.js:43:28: error: Could not resolve "mock-aws-s3" (mark it as external to exclude it from the bundle, or surround it with try/catch to handle the failure at run-time)\n 43 \xe2\x94\x82 const AWSMock = require('mock-aws-s3');\n \xe2\x95\xb5 ~~~~~~~~~~~~~\n\n > node_modules/@mapbox/node-pre-gyp/lib/util/s3_setup.js:76:22: error: Could not resolve "aws-sdk" (mark it as external to exclude it from the bundle, or surround it with try/catch to handle the failure at run-time)\n 76 \xe2\x94\x82 const AWS = …Run Code Online (Sandbox Code Playgroud) 我的 __layout.svelte 中有一个变量checked,我希望该值在页面导航之间保持不变。相反,当我导航到新页面时,checked它会重置回默认值 false。有没有一种方法可以在页面加载之间简单地保留布局或应用程序状态?
问题的上下文是我需要在应用程序中的页面导航中维护检查的值,这是一个手动暗模式开关。
<!-- __layout.svelte -->
<script>
let checked = false
$: checked, console.log('checked is', checked)
</script>
<a href="/">Home</a>
<a href="/about">About</a>
<a href="/contact">Contact</a>
<div style="margin-top:2em">
<label>
<input type="checkbox" bind:checked/>
a checkbox...
</label>
</div>
<slot></slot>
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序(sveltekit)在里面运行,并且想从本地网络上的其他设备访问它。
我可以从 localhost:3000 上的主机正常访问它。
我想以某种方式从本地网络上的另一台机器访问它。这可能吗?Sveltekit cli有 --host 标志,它输出以下内容:
$ svelte-kit dev --host
local: http://localhost:3000
network: http://172.17.0.3:3000
Run Code Online (Sandbox Code Playgroud)
如何从本地网络上的不同设备访问该网络 URL?
OS: Pop OS
VSCode: 1.63.0
Docker: Latest stable version.
Run Code Online (Sandbox Code Playgroud)
networking docker visual-studio-code vscode-remote sveltekit
该文档对于显示 Hooks 的错误页面似乎有点含糊。我正在寻找一种有条件地显示 404 页面的方法。
export async function handle({ event, resolve }) {
return new Response('This page does not exist.', {status: 404})
}
Run Code Online (Sandbox Code Playgroud)
这会以纯文本形式返回状态 404 页面,但我希望它返回带有布局的错误页面,而不仅仅是文本。有API可以使用吗?或者我应该重定向到404页面?
我对 SvelteKit 相当陌生,无法找出与插槽相关的问题。我正在尝试制作一个具有主控和详细信息窗格的应用程序布局,其中主控和详细信息的内容是根据路线确定的。
假设我有一个__layout.svelte这样的文件:
//-------------------------
// routes/__layout.svelte
//-------------------------
<main>
<slot name="master" />
<slot name="detail" />
</main>
Run Code Online (Sandbox Code Playgroud)
然后我有另一个像这样的页面(还有几个类似的路线页面):
//-------------------------
// routes/users.svelte
//-------------------------
<div slot="master">
Users master content...
</div>
<div slot="detail">
Users detail content...
</div>
Run Code Online (Sandbox Code Playgroud)
当我导航到时,http://localhost:3000/users我只是收到一条错误消息,提示我无法使用slot=""in users.svelte,因为它不在子组件内。
我这一切都错了吗?您将如何在 SvelteKit 中实现类似的应用程序布局?
我的 Cypress 测试仅在 Github CI 上失败并出现以下错误:
Your page did not fire its `load` event within `60000ms`.
Run Code Online (Sandbox Code Playgroud)
我认为这是因为 Cypress 浏览器卡住了加载 Github Actions 环境阻止的内容。测试在本地运行良好。但是,由于我无法访问浏览器控制台,因此我无法知道导致错误的原因。
不过,根据 Cypress 的服务屏幕截图,页面加载得很好。
我怎样才能
在我的赛普拉斯测试中禁用load事件检查,因为我认为这不是一个真正的问题
通过 Cypress 服务访问 JavaScript 日志或网络选项卡日志,以确认 Github Actions 运行时环境中可能存在的问题
sveltekit ×10
svelte ×4
typescript ×2
bcrypt ×1
cookies ×1
cypress ×1
docker ×1
eslint ×1
javascript ×1
mongodb ×1
networking ×1