亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

react項目中怎么運行vue組件

發布時間:2022-04-12 10:12:58 來源:億速云 閱讀:540 作者:iii 欄目:web開發

本篇內容介紹了“react項目中怎么運行vue組件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

react項目中怎么運行vue組件

先看實現效果

react項目中怎么運行vue組件

vue組件在reat中正常渲染了,并且我還點擊了按鈕 3下vue的響應和render也都正常

具體如何實現?

實現原理

  • 引入vue的完整版(考慮性能的話,可以按需引入)

  • 等到componentDidMount階段,掛載好<div id="vueApp" />

  • new Vue(..).$mount('#vueApp')

import Vue from 'vue/dist/vue.min.js' // 引入完整版,否則不能解析vue的組件對象語法
export default class App extends Component {
  constructor(props) {
    super(props)
  }
  
  componentDidMount() {
    const Foo = {
      template: `
        <div>
          <h2>我是vue : {{aaa}}</h2>
          <h2>我是vue : {{aaa}}</h2>
          <h2>我是vue : {{aaa}}</h2>
          <button @click="aaa++">按鈕</button>
        </div>
      `,
      data () {
        return {
          aaa: 2222
        }
      }
    }
    new Vue({
      render: h => h(Foo),
    }).$mount('#vueApp')
  }

  render() {
    return (
      <div>
        <h2>當前是react項目內</h2>
        <h2>當前是react項目內</h2>
        以下將渲染vue組件
        <div id="vueApp" />
      </div>
    )
  }
}

注意:

如果只需支持vue的組件選項對象的話,那么不用配置webpack,就完了

vue的組件選項對象 指的是:

const Foo = { 
    template: ` 
        <div> 
            <h2>我是vue : {{aaa}}</h2>
            <h2>我是vue : {{aaa}}</h2> 
            <h2>我是vue : {{aaa}}</h2> 
            <button @click="aaa++">按鈕</button> 
        </div> 
    `, 
    data () { 
        return { 
            aaa: 2222 
        } 
    } 
}

高級版

此處高級版指的是:需要支持 .vue文件/組件(上面的demo,直接是組件選項對象,沒有.vue文件)

比如:(繼續用上面的demo,改幾行)

  • 改成了引入.vue文件: import Foo from "./Foo.vue";

import Vue from 'vue/dist/vue.min.js' // 引入完整版,否則不能解析vue的組件對象語法
import Foo from "./Foo.vue";
export default class App extends Component {
  ...
  
  componentDidMount() {
    new Vue({
      render: h => h(Foo),
    }).$mount('#vueApp')
  }

  ...
}

此時要想生效,需要配置vue-loader

  • 官網:https://vue-loader.vuejs.org/guide/#manual-setup

// 在 webpack.config.js 內
const { VueLoaderPlugin } = require('vue-loader')

module.exports = {
  mode: 'development',
  module: {
    rules: [
      {
        test: /.vue$/,
        loader: 'vue-loader'
      }
    ]
  },
  plugins: [
    // make sure to include the plugin for the magic
    new VueLoaderPlugin()
  ]
}

注意點

  • 建議大家test的時候,不要用react的腳手架起的項目,用從零配置webpack.config.js的react項目

  • 我當前用最新版的腳手架時,run eject后,去往 webpack.config.js 里面寫會報錯,因為 VueLoaderPlugin 不兼容一個 oneOf的語法

  • 如果不用解析.vue文件的話,直接用vue的組件選項對象語法的話,那么不用額外的配置vue-loader

總結

  • 建議大家test的時候,不要用react的腳手架起的項目,用從零配置webpack.config.js的react項目

  • 如果不用解析.vue文件的話,直接用vue的組件選項對象語法的話,那么不用額外的配置vue-loader

最終在對比一下,vue項目中使用react組件,和, react項目中使用vue組件,配置上的區別!


一定需要配置webpack.config.js的loader嗎?
在vue項目中使用react組件yes,需配置babel-loader編譯.jsx文件,需要額外注意配babel-loader的option選項
在react項目中使用vue組件no,如果不用解析.vue文件的話,直接用vue的組件選項對象語法的話,那么不用額外的配置vue-loader。需要支持.vue文件的話,需要配vue-loader


“react項目中怎么運行vue組件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元朗区| 青海省| 贵南县| 大厂| 荔波县| 左贡县| 大安市| 方山县| 丹凤县| 吉安县| 神农架林区| 垣曲县| 平凉市| 洛浦县| 安庆市| 会泽县| 彭泽县| 定襄县| 新邵县| 淮滨县| 汉阴县| 丹江口市| 会理县| 株洲市| 隆昌县| 元江| 新河县| 静宁县| 蒙山县| 嘉荫县| 金川县| 铜梁县| 含山县| 尼玛县| 宁乡县| 德庆县| 安龙县| 五华县| 蓬莱市| 明水县| 崇礼县|