我在驱动器C中有一个项目,我需要在其他驱动器D中的其他项目中的组件。我如何继续?
我已经有一个网站没有ReactJS,但现在我需要React,因为它将使我的工作更容易,所以我以这种方式集成组件。
我们可以像这样在非react应用程序中导入组件吗?
下面是我写的代码
'use strict';
import App from '../../../../'; //Area of issue
const e = React.createElement;
class LikeButton extends React.Component {
constructor(props) {
super(props);
this.state = { liked: false };
}
render() {
if (this.state.liked) {
return 'You liked this.';
}
return e(
// <App />
'button',
{ onClick: () => this.setState({ liked: true }) },
'Like'
);
}
}
const domContainer = document.querySelector('#map');
ReactDOM.render(e(LikeButton), domContainer);
是的,您可以将零部件从一个项目导入到另一个项目,而无需考虑新项目的位置。只是您的项目可能需要进行一些重组,然后必须转换成ES5包,捆绑并导入到其他项目(如npm包)中。您还可以在线将其发布到npm存储库,并将其作为依赖项安装到所需的项目中。你只需要好好照顾好进出口。
所以,这里是基本的想法...
>
使用babel和webpack传输您的react项目并将其捆绑到npm包中。如。
#Path_of_your_c_drive_project复制文件
从输出文件夹复制该npm包并将其粘贴到新项目的node_模块中,然后将其作为依赖项添加到包中。新项目的json。
在新项目中需要的任何地方导入js文件中的组件,就像导入其他包并使用它们一样。
遗憾的是,这是不可能的。只需将组件存储在同一个驱动器上,应该不会太麻烦。
创建一个反应项目。通过所需的自定义实现其中的所有反应组件。然后,不要直接渲染,而是导出一个函数,将这些组件渲染到您传递的元素引用中。然后构建它,并将构建的js文件包含在项目中。按照链接获得更好的想法:
反应微前端
在无反应项目中是否有可能出口反应组件作为功能
使用-反应-组件-在-非反应-网站
添加反应到网站