Laravel mix - я не могу использовать Vue и React одновременно - PullRequest
0 голосов
/ 28 июня 2018
[Vue warn]: Failed to mount component: template or render function not defined – full build

Я действительно попробовал каждый совет с 3 страниц поиска Google. Итак, что у меня есть:

const { mix } = require('laravel-mix');
const { VueLoaderPlugin } = require('vue-loader');

mix.webpackConfig({
    resolve: {
        alias: {
            'vue$': 'vue/dist/vue.esm.js'
        }
    },
    plugins: [
        new VueLoaderPlugin(),
    ],
});

А

import Vue from 'vue';

import TestComp from './TestComp.vue';

Vue.component('test-comp', TestComp);

new Vue({
    el: '#vue'
});

И

<div id="vue">
    <test-comp></test-comp>
</div>

И я все еще получаю эту ошибку. Проблема в том, что это нормально работает на новом пустом проекте. Но я пытаюсь реализовать это в огромном проекте с большим количеством приличий. Такие как: eslint, babel-core, babel-loader и тонны реагирующих вещей (около 25 зависимостей). Так что я понятия не имею, может ли что-то из этого повлиять на процесс компиляции. Потому что похоже, что vue-loader не может видеть раздел <template> по какой-то причине.

vue.esm.js?efeb:574 [Vue warn]: Failed to mount component: template or render function not defined.

found in

---> <TestComp> at resources/js/admin/TestComp.vue
       <Root>

Так что я действительно запутался

TestComp.vue

<template>
    <div>{{ name }}</div>
</template>

<script>
    export default {
        data() {
            return {
                name: 'John'
            }
        }
    }
</script>

Проблема исчезла и все работает нормально после того, как я удалил mix.react() из webpack.mix.js

...