Liferay 7.3.5 使用 React 组件的一个核心的多个 React 小部件

问题描述 投票:0回答:1

我有例如。 3 个 React 小部件,但对于每个小部件,我都需要有单独的组件和 node_modules。 在 liferay 7.3.5 中,这 3 个小部件是否有可能共享组件、节点模块等?

例如。 React Widget 1(和2,3)可以共享“ReusablePart”组件

import React from 'react';
import ReusablePart from '../components/ReusablePart'

function ReactWidget1() {
  return (
    <div className="App">
      <header className="App-header">
       <ReusablePart />
      </header>
    </div>
  );
}

类似的东西

ReactSuperWidget
- components
--ReusablePart
-ReactWidgets
--ReactWidget1
--ReactWidget2
--ReactWidget3

并使用 3 个独立的 liferay jar 构建它们(react-widget1.jar、react-widget2.jar、react-widget3.jar)

reactjs liferay liferay-7
1个回答
0
投票

您有多种选择在每个页面上包含常见的 JS 代码,例如:

  • 将常用组件嵌入到您的主题中(如果您有自定义主题)并依赖它们的存在
  • 实现一个ThemeContributor
  • 您还可以选择将所有 React 小部件包含在一个 jar 中,其中包含一次共享资源
  • 或者从单独的插件或众所周知的 URL 提供共享资源
  • 使用 Liferay 7.4,您还将拥有客户端扩展,可以向您的主题添加资源,而无需更改主题本身。

您可能采取哪条路线取决于代码的结构以及控制/部署的偏好。

© www.soinside.com 2019 - 2024. All rights reserved.