我最近开始通过 SvelteKit 使用 Svelte,我对这个框架有一些疑问,但我无法在源代码/文档中找到任何直接答案:
如果您需要从外部 API 请求数据,所有服务器端代码(包括端点)都可以访问 fetch。
谢谢!
prerender server-side-rendering svelte netlify-function sveltekit
我一直在尝试PreRender.Io
在我的本地机器上安装进行测试.我已经安装了Python 2.7.10.当我输入:
npm install prerender
它给出了一个错误:
C:\PreRender\node_modules\prerender\node_modules\phantom\node_modules\dnode\node
_modules\weak>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\
node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js"
rebuild ) else (node rebuild )
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
TRACKER : error TRK0005: Failed to locate: "CL.exe". The system cannot find the
file specified. [C:\PreRender\node_modules\prerender\node_modules\phantom\node
_modules\dnode\node_modules\weak\build\weakref.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` fail
ed with exit code: 1
gyp ERR! stack at …
Run Code Online (Sandbox Code Playgroud) 我正在尝试chrome中的prerender功能,但是当我检查网络时,我可以看到任何链接都取消了请求.
我使用以下语法:
<link rel="prerender" href="http://example.org/index.html">
Run Code Online (Sandbox Code Playgroud)
我在http://prerender-test.appspot.com/上尝试了现场演示,得到了相同的结果.这是为什么?
更新(来自https://developers.google.com/chrome/whitepapers/prerender):
在某些情况下,在预呈现网站时,Chrome可能会遇到可能导致用户可见行为不正确的情况.在这些情况下,预呈现将被默默地中止.其中一些案例包括:
注意:这不是一个详尽的清单.最后更新时间为11/10/11.
但问题是我什么时候可以使用此功能?
我正在尝试使用prerender.io来获取angularjs页面的快照.目前我有一个用于Web应用程序的NodeJS实例,nginx
反向代理将请求从端口重定向80
到4000
.
根据prerender nginx手册(https://gist.github.com/thoop/8165802),我可以将搜索引擎机器人请求转发给prerender url,但因为我已经有了NodeJS应用程序的代理,我不知道怎么能我是prerender try_files
指令.
我的问题是,我如何使用NodeJS应用程序代理和prerender指令?
我已经开始使用prefetch/prerender系统加载一些关键资源和页面.
有没有办法确保有问题的资源实际上是预先加载的?
<!DOCTYPE html>
<meta charset="utf-8">
<title>An HTML Document</title>
<link rel="prefetch" href="https://www.apple.com/">
<link rel="prerender" href="https://www.apple.com/">
<script>
document.addEventListener('click', function () {
// Prerendering https://www.apple.com/ipad on Chrome.
// ...
// Prefetching https://www.apple.com/ipad on Firefox.
// ...
}, false);
</script>
Run Code Online (Sandbox Code Playgroud)
打开页面时,https ://www.apple.com/已预呈现并在不同的浏览器上预取.单击文档后,我希望预呈现并预取其他页面,https://www.apple.com/ipad.
看来我们有两种方法可供选择.我们可以替换当前2个link
元素中的URL .或者我们可以在link
元素中插入2个新元素head
.
在HTML中设置新的预渲染的正确方法是什么?
在HTML中设置新预取的正确方法是什么?
我尝试将Chrome中的prerender link
元素的URL从https://www.apple.com/替换为https://www.apple.com/ipad.我打开Chrome的任务管理器,发现https://www.apple.com/ipad没有预先进行预先处理.唯一预呈现的页面仍然是https://www.apple.com/.所以看来这种方法不起作用?
我只想知道 puppeteer / rendetron 和 prerender.io 之间的基本区别是什么,以及使用此解决方案预渲染页面并在 seo 下准备页面的最佳方式。还有一个 - 我知道 rendetron 是在基本的 puppeteer 上创建的,但是 rendetron 可以做更多吗?我的意思是,如果他是在基本 puppeteer 上创建的,在这种情况下 puppeteer 应该能够完全执行 rendetron 可以做的事情,例如,为什么我应该选择 rendetron?或者我应该放弃这两个开源解决方案并选择 prerender.io ?
我有一个主站点和一个用 flutter 编写的移动应用程序。我想在m.example.com
. 但是SEO优化存在问题。有没有人有在颤振(ssr、prerender、amp 等)中实现 seo 的真实经验?或者只在没有 SEO 的网站上使用 flutter-web?
我一直在使用Chrome的预呈现功能
<link rel="prerender" href="/path" />
Run Code Online (Sandbox Code Playgroud)
但是在lates更新之后,当我尝试使用调试时[chrome://net-internals/#prerender]
.它表明预渲染因中止而中止"Cookie Conflict"
.
我试图调试以确保在页面加载后是否有一些ajax调用正在更改cookie,但是没有找到.预渲染仍然中止.它曾经与以前的chrome版本一起工作得很好.