问题标签 [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:当导航离开带有 kwes.io 表单的页面时,如何修复“parentNode 为空”?
我正在 SapperJS 中使用kwes.io创建一个联系表单。表格本身有效。
但是一旦我登陆联系页面,我就无法使用 Sapper 链接离开它,但正常的 https 链接可以工作。
浏览器中的 URL 更改,但内容未加载。然后要加载内容,我必须重新加载页面。
我联系了 Kwes 的支持团队,但他们说这与 Sapper 处理路由的方式有关,无法提供帮助。
我像这样创建了我的表格
在 Chrome 浏览器控制台上打印
Uncaught (in promise) TypeError: Cannot read property 'removeChild' of null
在 Firefox 控制台上
TypeError: t.parentNode is null
svelte - 将值从布局传递到苗条工兵中的嵌套子路由?
[编辑] 我已更新示例以包括使用 preload ( userb
) 和 {#await} ( usera
)。场景 usera 和 userb 都未定义/users/[username]/about.svelte
你将如何让这样的事情起作用:
/users/[用户名]/_layout.svelte
/users/[用户名]/about.svelte
似乎 /user/:username/about 没有从 _layout 接收道具用户。这适用于 nuxt(对于 vuejs 而不是 svelte 基本上是 sapper)。
svelte - zeit/now 上的 svelte/sapper 直接链接问题 - 如何调试或修复?
在开发中,我可以直接链接到任何路线。在 Zeit/now,我可以引导链接到某些页面,但不能链接到其他页面。我正在努力确定问题所在。
这是一个示例,直接导航到“ https://partyshoegame.now.sh/games/play/Sparkle ”不起作用,但从主页导航到同一个地方确实有效。
Zeit 运行时日志没有任何条目。
也许是我拥有 Firebase 内容的页面?我通过 RXJS/RXfire 使用 firebase 身份验证,并通过谷歌的 API 使用 firestore。
我断言我尝试过的事情:
链接深度:我的内容有两层深。我把一些拉到只有一层深,但这并没有什么不同。
Slugs:我有博客样本和我的内容。博客有效,我的无效。
我的 Helper js 代码:我在 routes 文件夹中有几个没有下划线名称的 js 文件。我想,也许那些是造成路线问题的原因。我加了下划线,没有区别。
蛞蝓#2:我放置了一个命名文件两层深。无法直接访问没有索引?:我的一些路线只有 [slug].svelte。我添加了 index.svelte。没有不同。
Slugs #3:我的文件被命名为 [playDocId].svelte,然后我使用了 params.playDocId。我把它们换成了[slug]。没有不同
应用服务器:将 polka 换成 express。没有不同
我的路线文件夹的片段
服务器响应
` 在 dev 中,我可以直接链接到任何路由。在 Zeit/now,我可以引导链接到某些页面,但不能链接到其他页面。我正在努力确定问题所在。
这是一个示例,直接导航到“ https://partyshoegame.now.sh/games/play/Sparkle ”不起作用,但从主页导航到同一个地方确实有效。
Zeit 运行时日志没有任何条目。
也许是我拥有 Firebase 内容的页面?我通过 RXJS/RXfire 使用 firebase 身份验证,并通过谷歌的 API 使用 firestore。
我断言我尝试过的事情:
链接深度:我的内容有两层深。我把一些拉到只有一层深,但这并没有什么不同。
Slugs:我有博客样本和我的内容。博客有效,我的无效。
我的 Helper js 代码:我在 routes 文件夹中有几个没有下划线名称的 js 文件。我想,也许那些是造成路线问题的原因。我加了下划线,没有区别。
蛞蝓#2:我放置了一个命名文件两层深。无法直接访问没有索引?:我的一些路线只有 [slug].svelte。我添加了 index.svelte。没有不同。
Slugs #3:我的文件被命名为 [playDocId].svelte,然后我使用了 params.playDocId。我把它们换成了[slug]。没有不同
应用服务器:将 polka 换成 express。没有不同
我的路线文件夹的片段
服务器响应
` 找不到页面。
`
包.json
{
"name": "partyshoegame",
"description": "Party Shoe Game",
"version": "0.0.1",
"license": "UNLICENSED",
"scripts": {
"dev": "sapper dev",
"build": "sapper build --legacy",
"export": "sapper export --legacy",
"zeit": "sapper export --legacy && now --prod && sapper dev",
"start": "node __sapper__/build",
"cy:run": "cypress run",
"cy:open": "cypress open",
"test": "run-p --race dev cy:run"
},
"dependencies": {
"@firebase/app": "^0.4.19",
"body-parser": "^1.19.0",
"bulma": "^0.8.0",
"bulma-extensions": "^6.2.7",
"compression": "^1.7.1",
"date-fns": "^2.5.1",
"date-fns-tz": "^1.0.8",
"express": "^4.17.1",
"firebase": "^7.2.0",
"firebaseui": "^4.2.0",
"helmet": "^3.21.2",
"lazysizes": "^5.1.2",
"polka": "^1.0.0-next.7",
"rxfire": "^3.8.7",
"rxjs": "^6.5.3",
"sirv": "^0.4.0",
"uuid": "^3.3.3",
"uuid-random": "^1.3.0",
"xmlhttprequest": "^1.8.0"
},
"devDependencies": {
"@babel/core": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/runtime": "^7.0.0",
"npm-run-all": "^4.1.5",
"rollup": "^1.12.0",
"rollup-plugin-babel": "^4.0.2",
"rollup-plugin-commonjs": "^10.0.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-replace": "^2.0.0",
"rollup-plugin-svelte": "^5.0.1",
"rollup-plugin-terser": "^4.0.4",
"sapper": "^0.27.0",
"svelte": "^3.0.0"
},
"main": "main.js",
"repository": "https://github.com/ketupia/psg-firebase",
"author": "Ketupia <ketupia@gmail.com>",
"private": true
}
构建过程
- npm 运行导出
- 提交到 github
zeit/now 自动拉
或者
“npm run zeit”,它是 sapper 导出并推送到现在。
2 : https://i.stack.imgur.com/0tRuu.png找不到页面。
在应用程序中找不到该页面。
404:未找到
代码:RESOURCE_NOT_FOUND ID:cle1:mb46h-1573325573258-8bd73af71130 `
包.json
{
"name": "partyshoegame",
"description": "Party Shoe Game",
"version": "0.0.1",
"license": "UNLICENSED",
"scripts": {
"dev": "sapper dev",
"build": "sapper build --legacy",
"export": "sapper export --legacy",
"zeit": "sapper export --legacy && now --prod && sapper dev",
"start": "node __sapper__/build",
"cy:run": "cypress run",
"cy:open": "cypress open",
"test": "run-p --race dev cy:run"
},
"dependencies": {
"@firebase/app": "^0.4.19",
"body-parser": "^1.19.0",
"bulma": "^0.8.0",
"bulma-extensions": "^6.2.7",
"compression": "^1.7.1",
"date-fns": "^2.5.1",
"date-fns-tz": "^1.0.8",
"express": "^4.17.1",
"firebase": "^7.2.0",
"firebaseui": "^4.2.0",
"helmet": "^3.21.2",
"lazysizes": "^5.1.2",
"polka": "^1.0.0-next.7",
"rxfire": "^3.8.7",
"rxjs": "^6.5.3",
"sirv": "^0.4.0",
"uuid": "^3.3.3",
"uuid-random": "^1.3.0",
"xmlhttprequest": "^1.8.0"
},
"devDependencies": {
"@babel/core": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/runtime": "^7.0.0",
"npm-run-all": "^4.1.5",
"rollup": "^1.12.0",
"rollup-plugin-babel": "^4.0.2",
"rollup-plugin-commonjs": "^10.0.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-replace": "^2.0.0",
"rollup-plugin-svelte": "^5.0.1",
"rollup-plugin-terser": "^4.0.4",
"sapper": "^0.27.0",
"svelte": "^3.0.0"
},
"main": "main.js",
"repository": "https://github.com/ketupia/psg-firebase",
"author": "Ketupia <ketupia@gmail.com>",
"private": true
}
构建过程
- npm 运行导出
- 提交到 github
zeit/now 自动拉
或者
“npm run zeit”,它是 sapper 导出并推送到现在。
javascript - Svelte and Sapper:带有隐藏元素的幻灯片
使用 Svelte,我想设置一个带有苗条过渡的滑动切换元素。
但我也希望在服务器端为 SEO 呈现默认的不可见文本。
所以我最终得到了这个技巧:
它有效,但这有点棘手,对我来说更像是一种解决方法。
此外,它会在页面加载时产生一些小故障,例如图标在立即回滚之前显示为“打开”。
我能以更聪明的方式实现它吗?
javascript - Sapper 不断收到客户关于“this”关键字的警告?
不断从客户那里收到此警告,但不完全确定是什么原因造成的。任何正确方向的指导都会非常有帮助!
reactjs - github 页面的子文件夹向我显示旧的反应代码而不是新网站
我的 github 页面的子文件夹中有一个 html 页面,但我没有看到它。相反,我看到了一个我曾经在那里的旧反应应用程序。
- 站点:oren.github.io/food
- 代码:https ://github.com/oren/oren.github.io/tree/master/food
知道那里发生了什么吗?也许我需要调整我的 github 页面上的一些设置?我认为这不是缓存问题,因为自从我将新站点的代码复制到 food 文件夹中已经 7 个小时了。
svelte - 在 sapper/svelt 中是否有组件的快捷方式
在 nuxts/vue 中有一个别名 @ 和 ~ 表示应用程序的根目录。在 sapper/svelte 中是否有类似于 /very/deep/page/1/2/3/4 这样的深层路线的东西?我不必做类似的事情:
routes - 以前的路线显示在 Sapper 的当前路线中
我有两条路线/questions
和/profile
. 在onDestroy()
我调用的生命周期事件中console.log('destroyed')
。当我在路由之间切换时,我每次都会在 Chrome 控制台中“销毁”。
问题是在/questions
路由内部,我有复选框,使用bind:group={multiple_ids}
. 因此,在选中/取消选中某个字段后,当我切换/question
到/profile
路由时。路由的内容/question
显示在/profile
路由内部,此后 Chrome 控制台不再显示“已销毁”!这种行为对我来说似乎很奇怪。我不知道发生了什么。这是一个工作项目。请解决这个问题。谢谢
svelte - 静态生成的站点,覆盖基于会话的信息
我的网站大体上是一个静态网站,但我仍然想要身份验证和会话功能。我想有一种方法可以静态生成网站,但随后会覆盖诸如您未登录消息以在水合时以“用户”身份登录的信息,对吗?更重要的是它可以与预取一起使用吗?