在Sapper应用程序中,我希望能够持久化某些UI组件的状态,这样当用户使用这些组件返回页面时,我可以导航应用程序而不会丢失状态。
在Svelte专用应用程序中,这通常是通过使用sessionStorage或localStorage API的自定义存储完成的。这方面的一个很好的例子可以在R.马克·沃尔克曼的著作“Svelte和Sapper in Action”(第6.24节)中找到:
store-util.js
import {writable} from 'svelte/store';
function persist(key, value) {
sessionStor
我正在用Svelte Sapper创建一个应用程序。我有一个尝试使用mysql2的routes/account/login.js API路由。路由本身是有效的(我向Postman查询过了),但只要我导入mysql,服务器就会崩溃,并出现一个错误: [rollup-plugin-svelte] The following packages did not export their `package.json` file so we could not check the "svelte" field. If you had difficulties importing svel
我正在尝试将contentful的API用于我用sapper/svelte制作的这个博客。我显然需要使用require来加载contentfuls,但是rollup给了我一个错误。 require is not defined
ReferenceError: require is not defined
at http://localhost:3000/client/api.186b34eb.js:1:20 我已经尝试安装了相当数量的插件来解决这个问题,但是没有效果。这是API文件。 const contentful = require('contentful');
我正在使用sapper和svelte以及rollupjs。但是,当我尝试使用Github中的repo 时,我在控制台上运行npm run dev:ReferenceError: require is not defined时出现错误
这是我的rollup.config.js
import resolve from '@rollup/plugin-node-resolve';
import replace from '@rollup/plugin-replace';
import commonjs from '@rollup/plugin-commonjs
正如标题所说,我不能在生产模式下启动我的sapper项目。当我运行npm run start时,我将在控制台上获得以下输出: niklas@Niklass-iMac project-name % npm run start
> apple-on-svelte@0.0.1 start /Users/niklas/path/to/project
> node __sapper__/build
Starting server on port 3000
niklas@Niklass-iMac project-name % 如您所见,该命令将立即中止,并且服务器不会启动。可能的原因是什
我想在Sapper中禁用类似SPA的导航(如果这是一件正确的事情,请不要跳到讨论中)。我遵循了https://stackoverflow.com/a/58645471/205747的建议,在client.js中注释掉了所有的东西。 这满足了我的以下要求: [x] HTTP navigation;
[x] HTML composition achieved with svelte components;
[x] CSS classed from all components are extracted to single place; 但最后一个要求没有得到满足: [ ] DOM
以下用法为:
我知道错误了
UnhandledPromiseRejectionWarning: TypeError: _sveltejs_svelte_scroller__WEBPACK_IMPORTED_MODULE_1___default.a.data is not a function
at Object.App._render (webpack:///./app/App.html?:56:75)
at Object.App.render (webpack:///./app/App.html?:30:17)
at /Users/tim.clulow/Documen
我已经设置了一个Svelte项目,并希望使用JSON文件来使用Svelte i18n包。不幸的是,我在导入JSON文件时遇到问题。所需的软件包已经安装,但我不知道为什么它的Typescript方面不接受它。 我有一个最小的repro here。 import App from './App.svelte';
// src/index.js
import pkg from './package.json';
console.log(`running version ${pkg.version}`);
const app = new App({
tar
我有一个Svelte/Sapper应用程序,它在本地开发和部署中运行良好。现在我想把它部署在Heroku上,它仍然可以在本地和heroku local web一起很好地运行。但在heroku中,它不会启动。构建部分运行得很好,但是在npm start之后,它在internal/modules/cjs/loader.js:883中给出了错误Error: Cannot find module 'svelte/internal'。这个文件似乎来自@vime/svelte,当我删除依赖项和所有vime组件时,它启动时没有错误。但由于它可以在本地部署和heroku local web上运
我正在建立一个新的项目使用斯维特,Webpack,和TypeScript。它基于,并在初始设置后运行scripts/setupTypeScript.js脚本以切换到TypeScript。
当试图导入非TypeScript文件的资源时,VSCode和TypeScript将显示有关它们的错误:
import myContent from './some-file.txt';
// -> Cannot find module './some-file.txt' or its corresponding type declarations.ts(2307)
从技术
在Svelte中,你可以传递props to the content in a slot。 <Component let:message="Hello!">
<div>
{message}
</div>
</Component> 当Sapper使用布局来呈现路由时,路由内容也会呈现在一个插槽中。问题是,由于Sapper控制了这个过程,所以似乎不可能将一个槽道具传递给一个路由。 这不起作用: // _layout.svelte
<slot message="Hello!">