Webpack Build Error: Can't resolve subcomponents within a PrimeVue UI component

落花浮王杯 提交于 2020-08-10 22:52:49

问题


I am unable to build certain PrimeVue UI components with webpack.

I have tried several components, and all the basic ones work fine, but as soon as I try and use a component that requires a sub-component, webpack fails to build. I experienced this so far with the Breadcrumb and PanelMenu components.

The error is:

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

My webpack config is as follows:

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()
    ]
};

The component is used exactly as described in the documentation.

What could be causing this? The same is happening with the Breadcrumb component, except it can't find the BreadcrumbItem component. I checked the node_modules directory and the files are there.

Is this a webpack config file problem, a PrimeVue bug, or a user (me) error?


回答1:


is that your full config without babel? I would try to resolve properly.

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


来源:https://stackoverflow.com/questions/62021441/webpack-build-error-cant-resolve-subcomponents-within-a-primevue-ui-component

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!