呕心沥血之react中使用vue组件 -- vuera

3 篇文章 0 订阅
3 篇文章 0 订阅
本文档详细介绍了如何在React项目中使用Vuera实现与Vue的无缝融合,包括Vuera的安装、配置以及在非正常项目(如飞冰项目)中的应用。同时,提供了报错解决方案及引入Vue UI库的方法,帮助开发者解决在融合过程中遇到的问题。
摘要由CSDN通过智能技术生成

目录

前言

介绍vuera

补充vue环境

配置环境

其他项目

飞冰项目解决办法

报错解决 

如何解决vue的ui库问题 


前言

        首先需求是领导要求咱融合两个项目, 一个是vue一个是react。 什么?重写?那不愣小子吗,费劲的事咱可不干。

        于是乎,就有了这个呕心沥血(起码半升)的文章,读者诸君请继续往下看。

介绍vuera

        这个组件是实现react与vue融合的关键,但是使用教程介绍太少,这篇文章主要就是对使用教程的补充,下面是组件的官网地址,大家一定要仔细看下文档

        npm地址:vuera - npm (npmjs.com)https://www.npmjs.com/package/vuera        github地址:akxcv/vuera: Vue in React, React in Vue. Seamless integration of the two. (github.com)https://github.com/akxcv/vuera#readme

补充vue环境

        虽说有了vuera这个组件,但是vue的环境也要补充一下,这也是融合成功关键所在。

        安装vue,vue-loader,vue-template-compiler,vuera, 此处需要注意vue的版本与vue-template-compiler的版本要保持一致。如果大家对版本没有太高要求,我这有建议版本(毕竟已经呕过吐过,绝对好使),大家安装的时候带上版本号。

"vue": "^2.6.10",
"vue-loader": "^15.7.1",
"vue-template-compiler": "^2.6.10",
"vuera": "^0.2.7",

配置环境

1.配置vue-loader,此处只展示差异,请结合你的项目。

//webpack.config.js

const VueLoaderPlugin = require('vue-loader/lib/plugin');

module.exports = function(webpackEnv) {
    //你的代码...

    module: {
      rules: [
        { // add vue-loader
          test: /\.vue$/,
          loader: 'vue-loader',
        },
        //你的代码...
    },
    plugins: [
      new VueLoaderPlugin()
      //你的代码...
    ]
    
    //你的代码...
}

2.配置.babelrc,没有这个文件的在项目根目录新建.babelrc文件

//.babelrc

{
    "presets": ["react-app"],
    "plugins": [
        "vuera/babel"
    ]
}

         大功告成,此时你已经可以在react中使用vue的组件,建议先弄个简单的组件测试一下, 此处不再赘述,可参看vuera中的例子。

        另外,这里有个大佬的vuera示例项目,大家可以参考学习下timsayshey/vuera-react-vue-demo-app: Just trying to get Vuera to load Vue into a React App (github.com)https://github.com/timsayshey/vuera-react-vue-demo-app

其他项目

        至此,如果大家是正常的webpack项目,已经可以点赞收藏好评结束下班了。

        但偏偏,风渐渐······ 

        如果大家有非正常项目的,容我先笑为敬(因为我先哭过了,边呕边沥边哭),我接手的这个项目用的就是‘飞冰’搭建的,听没听过不重要。重要的是大家可以了解下webpack在你的项目中应该怎么配置,然后实现上边说的配置vue-loader与配置.babelrc。

飞冰项目解决办法

        飞冰项目的解决办法是下边地址的文章,大家都可以去看看,开篇有彩蛋。

呕心沥血之飞冰项目使用vue组件_不应识的博客-CSDN博客https://blog.csdn.net/baidu_41632421/article/details/125068587?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22125068587%22%2C%22source%22%3A%22baidu_41632421%22%7D&ctrtid=X9cbF

报错解决 

        DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node. 

akxcv/vuera: Vue in React, React in Vue. Seamless integration of the two. (github.com)https://github.com/akxcv/vuera/issues/91

如何解决vue的ui库问题 

        如果vue组件中使用了ui库该如何处理,欢迎继续观看呕心沥血小型连续剧呕心沥血之react中引入注册vue的UI库 -- vuera_不应识的博客-CSDN博客https://blog.csdn.net/baidu_41632421/article/details/125087151?spm=1001.2014.3001.5501

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Vue-React组件库是一个同时支持VueReact的UI组件库,可以在VueReact项目使用。下面以Element-React为例,介绍如何使用Vue-React组件库。 1. 安装Element-React:可以使用npm或yarn安装,命令如下: ``` npm install element-react --save 或 yarn add element-react ``` 2. 引入样式文件:在主入口文件引入Element-React的样式文件,如下: ``` import 'element-react/dist/theme-chalk/index.css'; ``` 3. 引入组件:在VueReact组件按需引入需要使用的Element-React组件,如下: 在Vue组件: ``` <template> <div> <el-button>Vue Button</el-button> </div> </template> <script> import { Button } from 'element-react'; export default { components: { 'el-button': Button } } </script> ``` 在React组件: ``` import { Button } from 'element-react'; class MyComponent extends React.Component { render() { return ( <div> <Button>React Button</Button> </div> ) } } ``` 4. 使用组件:在VueReact组件使用引入的Element-React组件,如下: 在Vue组件: ``` <template> <div> <el-button>Vue Button</el-button> </div> </template> ``` 在React组件: ``` import { Button } from 'element-react'; class MyComponent extends React.Component { render() { return ( <div> <Button>React Button</Button> </div> ) } } ``` 需要注意的是,不同的Vue-React组件使用方法略有不同,需要根据具体组件库的文档进行使用。同时,也需要根据项目需要选择合适的组件库,避免出现兼容性和功能不匹配的问题。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值