Reactjs 谷歌放大器与反应

Reactjs 谷歌放大器与反应,reactjs,amp-html,Reactjs,Amp Html,我们有一个具有节点的同构react应用程序。我想将一些页面转换为AMP页面。我糊涂了!我们是选择单独的AMP版本的应用程序,还是根据谷歌AMP页面指南修改当前的应用程序?我可以看到,我们必须在当前的应用程序中进行很多更改,以使amp兼容的版本。我应该如何继续?所以AMP代表加速移动页面,而不是加速移动应用。很难将动态应用程序1:1放入AMP。 因此,根据AMP标记标准,您需要静态HTML标记,这些页面(应用程序中不同屏幕的页面)之间的转换将是普通的旧HTML链接。也许你可以从你的应用程序中用定制

我们有一个具有节点的同构react应用程序。我想将一些页面转换为AMP页面。我糊涂了!我们是选择单独的AMP版本的应用程序,还是根据谷歌AMP页面指南修改当前的应用程序?我可以看到,我们必须在当前的应用程序中进行很多更改,以使amp兼容的版本。我应该如何继续?

所以AMP代表加速移动页面,而不是加速移动应用。很难将动态应用程序1:1放入AMP。 因此,根据AMP标记标准,您需要静态HTML标记,这些页面(应用程序中不同屏幕的页面)之间的转换将是普通的旧HTML链接。也许你可以从你的应用程序中用定制模板生成这样的标记,而且花费的代价也不菲。
也许我能帮你。

我想。但是将react用于AMP增加了一层额外的复杂性。最后决定使用node+ejs+express。AMP还提供用于处理动态内容的组件,如AMP列表、AMP绑定、AMP实时列表等


我们有一个类似的体系结构

格查斯:

  • 我们不想创建一个新的技术堆栈来服务Amp页面

  • 核心和放大器堆栈必须在功能上同步

  • 我们通过做两件事解决了这个问题:
    1.编写新的server.js文件并添加新的节点作业。
    2.构件的组织方式是,视图不是连接的构件。
    3.开发了一个HOC,并在React模板包含AMP不支持的内容的情况下选择了AMP vs React模板。
    

    AMP页面纯粹是服务器端呈现的。因此,server.js使用根组件生成一个新文件(index.html),我们在render方法中提到了根组件

    它在内部消耗必要的组件,当我们继续进行时,组件生成的CSS和HTML的数量出现了问题


    我们借此机会清理CSS,并仅在需要时编写单独的AMP。

    Next.js现在支持AMP。它们提供了多种方法(仅AMP和混合)来解决此问题。由于您可以在页面级别启用AMP,因此可以慢慢迁移到完整的AMP网站

    示例

    //pages/about.js
    export const config={amp:true}
    导出关于页面(道具)的默认功能{
    返回我的放大器关于页面!
    }
    
    通过这种方式,您可以同时支持这两者。React客户端渲染和纯AMP


    这与React有什么关系?请浏览链接,我遇到了与您类似的问题。我真的很想重用现有的React组件,尤其是那些静态但复杂的组件(具有复杂渲染逻辑的纯组件)。为了解决这个问题,我开发了一个webpack插件——它可以让创建基于组件的AMP页面变得轻松:)谢谢你的回答。我知道AMP代表加速移动页面。这是一个项目。您创建的页面称为AMP页面。请访问。这是一个官方网站,上面写着“AMP页面是用3个核心组件构建的”。我考虑过ampreact。但是将react用于AMP增加了一层额外的复杂性。最后决定使用node+ejs+express。AMP还提供用于处理动态内容的组件,如AMP列表、AMP绑定、AMP实时列表等