Vue.js 使用Laravel Mix从动态Vue组件导入中排除.php文件

Vue.js 使用Laravel Mix从动态Vue组件导入中排除.php文件,vue.js,webpack,laravel-mix,babel-loader,webpack-loader,Vue.js,Webpack,Laravel Mix,Babel Loader,Webpack Loader,我有以下目录结构: 资源/ js/ 组成部分/ App.vue 插件/ 插件1 Template.vue Plugin.php 插件2 Template.vue Plugin.php webpack.mix.js 我希望插件(template.vue组件)能够动态和异步加载,因此在App.vue中,我会: const req = require.context('../../plugins/', true, /\.(vue)$/i) req.keys(

我有以下目录结构:

  • 资源/
    • js/
      • 组成部分/
        • App.vue
    • 插件/
      • 插件1
        • Template.vue
        • Plugin.php
      • 插件2
        • Template.vue
        • Plugin.php
  • webpack.mix.js
我希望插件(template.vue组件)能够动态和异步加载,因此在App.vue中,我会:

const req = require.context('../../plugins/', true, /\.(vue)$/i)

req.keys().map(key => {
    const name = key.split('.')[1].replace(/^\/|\/$/g, '').toLowerCase().replace(/\//g, '-')

    // key.substring(2) = e.g. plugin_1/Template.vue
    return Vue.component(name, () => import('../../plugins/' + key.substring(2)))
})
编译贯穿整个过程,但有以下警告(每个插件有一个警告):

为什么它会尝试加载.php文件?我想:
const req=require.context('../../plugins/',true,/\.(vue)$/i)
会排除这些文件吗?我错过了什么?干杯


WARNING in ./resources/plugins/plugin_1/**Plugin.php** 1:0
Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> <?php
|
| namespace Resources\Plugins\plugin_1;
 @ ./resources/plugins lazy ^\.\/.*$ namespace object ./plugin_/**Plugin.php**
 @ ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/App.vue?vue&type=script&lang=js&
 @ ./resources/js/components/App.vue?vue&type=script&lang=js&
 @ ./resources/js/components/App.vue
 @ ./resources/js/app.js
 @ multi ./resources/js/app.js ./resources/sass/app.scss
const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js');
mix.sass('resources/sass/app.scss', 'public/css');