问题标签 [sapper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svelte - 历史推送状态功能后,Sapper后退按钮不起作用
我正在使用以下版本的 Sapper 和 Svelte:
使用函数更新 url 后history.pushState()
,然后导航到其他页面。后退按钮没有返回到由更改的 urlhistory.pushState()
svelte - 如何从 Prismic API 在 Sapper 应用程序中预加载数据
在我的 Sapper 应用程序中,我想使用他们的 SDK('prismic-javascript)从 Prismic API 预加载
我按照文档预加载内容。然而,文档仅通过 this.fetch 函数提供预加载。我想使用 Prismic SDK 连接到我的 Prismic 存储库。但它根本没有给我任何数据。
我还尝试了使用 JSONplaceholder 的 this.fetch 方法。这很好用。即使需要 Prismic-SDK 的“旧方式”也行不通:
所以这就是我的代码的样子:
此代码应使用 API 数据填充数据变量。但事实并非如此。有没有人可以在这里帮助我?谢谢!
scroll - Sapper中的goto功能后如何保留滚动位置?
使用 Sapper 中的功能导航后goto()
,滚动顶部位置设置回零。有没有一种简单的方法来控制它。特别是在使用时replaceState: true
。replaceState: true
滚动顶部使用选项设置回零有点奇怪。
编辑:输入字段也失去焦点之后goto(/url, {replaceState: true})
。我觉得这种行为很奇怪。带replaceState: true
选项。goto()
应该保留这些(滚动位置..输入焦点..等)或可能..
Edit-2:这也是history.replaceState()
. 不会丢失滚动位置和输入字段焦点。
sapper - 使用环境变量
我有一个工兵项目,其中包含各种数据库机密等......所以对于本地开发,我想加载一个.env
包含机密的项目。我知道dotenv。如何使用 dotenv仅.env
在本地计算机上加载文件,而不是在云运行中的部署上。
sapper - 如何使用 svelte/sapper 进行页面转换
我想在 Sapper 中实现一个简单的页面(路由)转换。例如,使用 Nuxt 可以轻松实现的目标。有谁知道如何用 Sapper 实现这一点?
我已经用 transition:fade 指令将我的页面内容包装到了一个 div 中。这行得通。然而,两页同时转换,这意味着当一页转换出另一页时,另一页已经转换了。如果有人指出我正确的方向,那就太好了。谢谢!
javascript - 工兵。如何全局使用第三方库
我想访问gun
服务器和客户端的变量。
这是我的模块:
如果它是 a Nuxt
,我想放弃它以支持 a Sapper
,我会像这样实现它:
因此,我可以访问$gun
任何地方:
在服务器端:
在客户端:
而且在模板中:
该问题与问题 ( gun
) 中讨论的特定库的使用无关。它可以是一个Websocet
连接(然后我们将以ws
相同的方式传递变量 sun。),或一个 rpc(用于连接Bitcoin
)——我可以举出许多例子,说明这很重要。
在某处我读到你需要通过rollbar
,某处我读到一个常规模块(es6
或.svelte
)来实现这个 - 但后来我遇到了许多其他问题......
svelte - 将自动生成的苗条类名称更改为其他名称
我有一个工兵项目。并想改成class="svelte-yjl878"
例如 myproject-yjl878
。
请参阅文档中提供的示例之一:https ://svelte.dev/examples#styling
有没有办法提供我自己的预定义字符串而不是总是使用svelte
?
session - Sapper/svelte3 会话在没有页面重新加载的情况下不同步
我无法让 Sapper 在没有页面加载的情况下同步在我的服务器端路由中所做的会话更改。我的示例场景是我在会话中没有用户的情况下加载我的应用程序,我的服务器端登录路由将用户设置为会话,然后我使用goto
它来访问仪表板。
问题是session
仪表板的预加载函数中的参数未填充。如果我使用window.location.href = '/dashboard'
,它是,因为它通过 Sapper 的page_handler运行。但是,如果我只进行客户端重定向,Sapper 不会将更新的会话发送到客户端。
有什么办法吗?我用错工具了吗?
注意:我正在使用 connect-pg-simple 和 express-session,像这样设置 sapper sapper.middleware({session: (req, res) => req.session.public})
:.
javascript - 如何防止 UIkit 模态在某些加载过程中关闭?
我试图阻止 UIkit 模式在某些加载发生时关闭。
我试图像这样动态传递选项:
但是当我这样做时,组件会重新初始化,导致模式关闭并使用新配置重新打开。
我也尝试在 Javacript 中执行此操作,但结果与上述相同。
amazon-s3 - 从 S3 加载数据时,我应该如何构建 Sapper/Svelte 路由?
假设我有一堆数据文档,它们是 S3 中的 JSON 文档,每年一个。我通过 dir 结构在 Sapper 中定义了一条路线:
我的代码script
块中的代码:
每个数据集在 S3 中为[s3 url]/[year here].json
. 导航栏中有一组链接显示每个数据集。我可以onMount
很好地加载数据,但随后单击导航栏链接不会加载新数据。所以onMount
很可能是错误的选择。
我应该如何构建这个?另外值得注意的是,我想将这些页面呈现为静态文件(数据很少更改,尤其是前几年)。