Ошибка сборки Webpack: не удается разрешить подкомпоненты в компоненте пользовательского интерфейса PrimeVue.
Я не могу собрать определенные компоненты пользовательского интерфейса PrimeVue с помощью webpack.
Я пробовал несколько компонентов, и все базовые работают нормально, но как только я пытаюсь использовать компонент, требующий подкомпонента, webpack не создается. Я испытал это до сих пор с компонентами Breadcrumb и PanelMenu.
Ошибка:
ERROR in ./node_modules/primevue/components/panelmenu/PanelMenu.vue?vue&type=script&lang=js& (./node_modules/vue-loader/lib??vue-loader-options!./node_modules/primevue/components/panelmenu/PanelMenu.vue?vue&type=script&lang=js&)
Module not found: Error: Can't resolve './PanelMenuSub' in '/my-application-directory/node_modules/primevue/components/panelmenu'
@ ./node_modules/primevue/components/panelmenu/PanelMenu.vue?vue&type=script&lang=js& (./node_modules/vue-loader/lib??vue-loader-options!./node_modules/primevue/components/panelmenu/PanelMenu.vue?vue&type=script&lang=js&) 27:0-42 86:24-36
@ ./node_modules/primevue/components/panelmenu/PanelMenu.vue?vue&type=script&lang=js&
@ ./node_modules/primevue/components/panelmenu/PanelMenu.vue
@ ./node_modules/primevue/panelmenu.js
@ ./interface/html5/vue-components/Menu.js
@ ./interface/html5/vue-components/App.js
@ ./interface/html5/vue-main.js
Конфигурация моего веб-пакета выглядит следующим образом:
const path = require('path');
const { VueLoaderPlugin } = require('vue-loader');
module.exports = {
mode: 'development',
entry: 'vue-main.js',
output: {
filename: 'vue-main.bundle.js',
path: path.resolve(__dirname, 'dist'),
},
module: {
rules: [
{
test: /\.vue$/,
use: 'vue-loader'
},
// the below will apply to both plain `.js` files AND `<script>` blocks in `.vue` files
// the below will apply to both plain `.css` files AND `<style>` blocks in `.vue` files
{
test: /\.css$/,
use: [
'vue-style-loader',
'css-loader'
]
}
]
},
plugins: [
new VueLoaderPlugin()
]
};
Компонент используется в точности так, как описано в документации.
Что может быть причиной этого? То же самое происходит с компонентом Breadcrumb, за исключением того, что он не может найти компонент BreadcrumbItem. Я проверил каталог node_modules, и файлы там.
Это проблема с файлом конфигурации веб-пакета, ошибка PrimeVue или ошибка пользователя (меня)?
1 ответ
Это ваш полный конфиг без бабеля? Я бы постарался решить как следует.
https://webpack.js.org/configuration/resolve/
resolve: {
alias: {
'@': res('src'),
'vue$': 'vue/dist/vue.esm.js'
},
modules: [res('node_modules')],
extensions: ['.js', '.vue', '.json']
},
resolveLoader: {
modules: [res('node_modules')]
}