Skip to content

Need option to Handle all vue-loader option #106

Closed
@SmileSmith

Description

@SmileSmith

Environment

vuetify Version: 2.1.0
vuetify-loader Version: 1.3.0
vue-cli Version: 3.0.3

Steps to reproduce

this is appear when integrate VuePress in my vuetify project. I found vuetify-component not inject import and register component by vuetify-loader. reference https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/markdown-loader

/ * my vuetify project  vue.config.js */

module.exports = {
  transpileDependencies: ['vuetify'],
  chainWebpack: config => {
    const rule = config.module.rule('markdown').test(/\.md$/)
    rule.use('vue-loader').loader('vue-loader');
    rule.use('markdown-loader').loader(require.resolve('@vuepress/markdown-loader'));
  }
}

Expected Behavior

@vuepress/markdown-loader and vuetify component all work

Actual Behavior

webpack compiler error. v-app-bar .etc vuetify component haven't register.

And If covert .loader('vue-loader'); to .loader('my-vue-loader'); (or any name else), vuetify-loader plugin work.

Then I found plugin.js only handle latest vue-loader options. I suggest an option to specific whether to handle all vue-loader option.

/* in vuetify-loader/lib/plugin.js 24-26 */

    // find the rule that applies to vue files
    const vueRuleIndex = rules.findIndex(rule => rule.use && rule.use.find(isVueLoader))
    const vueRule = rules[vueRuleIndex]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions