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
- 插件1
- js/
- webpack.mix.js
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');