Ошибка сборки Webpack: не удается разрешить подкомпоненты в компоненте пользовательского интерфейса Prime Vue - PullRequest
0 голосов
/ 26 мая 2020

Я не могу собрать определенные компоненты пользовательского интерфейса Prime Vue с помощью webpack.

Я пробовал несколько компонентов, и все основные c работают нормально, но как только я попробую использовать компонент, для которого требуется подкомпонент, не удается создать 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, и там есть файлы.

Это проблема с файлом конфигурации webpack, ошибка Prime Vue или ошибка пользователя (меня)?

1 Ответ

1 голос
/ 26 мая 2020

это ваш полный конфиг без бабеля? Я бы попытался разрешить правильно.

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')]
  }
...