Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在使用Nuxt.js的项目中使用stencil.js进行SSR(也使用SSR)_Javascript_Nuxt.js_Server Side Rendering_Stenciljs - Fatal编程技术网

Javascript 如何在使用Nuxt.js的项目中使用stencil.js进行SSR(也使用SSR)

Javascript 如何在使用Nuxt.js的项目中使用stencil.js进行SSR(也使用SSR),javascript,nuxt.js,server-side-rendering,stenciljs,Javascript,Nuxt.js,Server Side Rendering,Stenciljs,我想在我的numxt项目中使用stencil库 我能够让它工作,但是当vue组件在服务器端渲染时,我只能让模具的组件在客户端渲染 我认为最大的问题是definecustomement需要窗口作为参数 我知道stencil.js有一个“prerender”,在我的理解中基本上是SSR,我想使用它以及Nuxt.jsSSR 所以我的问题是:如何配置nuxt项目以支持stencil.js的服务器端渲染?哦,是的,正如Aldarund所说,你不能,我更仔细地看了一下,据说预渲染是在构建时进行的,所以这是不

我想在我的
numxt
项目中使用
stencil

我能够让它工作,但是当
vue
组件在服务器端渲染时,我只能让
模具的组件在客户端渲染

我认为最大的问题是
definecustomement
需要
窗口作为参数

我知道
stencil.js
有一个“prerender”,在我的理解中基本上是SSR,我想使用它以及
Nuxt.js
SSR


所以我的问题是:如何配置
nuxt
项目以支持
stencil.js
的服务器端渲染?

哦,是的,正如Aldarund所说,你不能,我更仔细地看了一下,据说预渲染是在构建时进行的,所以这是不可能的:/太糟糕了,

确实,你有一个解决方法

  • 您必须在unpkg或任何其他公共(或私人)CDN中发布您的webcomponent
  • 在nuxt.config.js文件中,在脚本部分添加脚本。此脚本必须引用公共库()
  • 有关如何向nuxt项目添加外部资源的更多信息,请阅读:->如何使用外部资源


    干杯

    更新:我目前正在开发一个Nuxt模块,以与基于stencil.js的库集成

    它的作用是:

    • 它使用
      render:route
      generate:page
      为基于SSR的应用程序(通用或构建时)创建两个挂钩,它将在将请求发送回浏览器之前呈现模具组件

    • 它为CSR注入了一个插件,用于定义模具库中的自定义元素,如前所述

    ⚠️ 注意:Vue在CSR上水合时抛出的错误很少,这可能是由于渲染器在渲染模具组件时注入的注释



    过时的注释,在模具V1之前:

    看起来Stencil v1可能会解决SSR,根据以下内容:

    Stencil One将使用dist水合物脚本输出目标生成 一个节点脚本,可用于添加脚本。然后 生成的dist/hydrate/index.js脚本可以在中重用 多个位置(Angular Universal、Express中间件、自定义 预渲染等)

    如果要预渲染,只需添加--prerender即可 标记到您的模具构建,它将为您处理所有这些。 我们仍在积极地进行这方面的工作,并希望很快发货。谢谢

    Github相关问题:


    你不能。支持SSR是应该在库级别完成的事情。因此,stencil.js要么支持ssr,要么不支持ssr。如果它依赖于窗口-它不支持ssr。请参见抱歉,但是,此方法是否适用于服务器端渲染?是否以预先渲染的方式交付给客户?