Javascript 使用webpack将Vuetify集成到Vue CLI应用程序中

Javascript 使用webpack将Vuetify集成到Vue CLI应用程序中,javascript,vue.js,vuejs2,vue-component,vuetify.js,Javascript,Vue.js,Vuejs2,Vue Component,Vuetify.js,我有一个使用网页包的Vue CLI应用程序,我正在集成Vuetify。由于某些原因,我无法正确加载Vuetify组件 我收到以下警告: 未知自定义元素:-是否注册了该组件 正确地对于递归组件,请确保提供“名称” 选择权 未知自定义元素:-是否注册了该组件 正确地对于递归组件,请确保提供“名称” 选择权 JS文件(newtab.JS): import Vue from 'vue'; import Vuetify from '../plugins/vuetify' import App from

我有一个使用网页包的Vue CLI应用程序,我正在集成Vuetify。由于某些原因,我无法正确加载Vuetify组件

我收到以下警告:

未知自定义元素:-是否注册了该组件 正确地对于递归组件,请确保提供“名称” 选择权

未知自定义元素:-是否注册了该组件 正确地对于递归组件,请确保提供“名称” 选择权

JS文件(newtab.JS):

import Vue from 'vue';
import Vuetify from '../plugins/vuetify' 
import App from './App';

Vue.use(Vuetify);

new Vue({
  Vuetify,
  components: { App }, 
  render: h => h(App)
}).$mount('#app')
import Vue from 'vue';
import Vuetify from 'vuetify/lib'; 
import 'vuetify/dist/vuetify.min.css';

Vue.use(Vuetify);
export default new Vuetify({});
<template>
    <v-app id="inspire">
      <v-alert type="success">
          I'm a success alert. {{ message }}
      </v-alert>
    </v-app>
</template>

<script>
//import { VApp, VAlert } from 'vuetify/lib' 

export default {
  data () {
    return {
      message: "Additional message"
    }
  }
}
</script>

<style scoped>
    p { font-size: 20px; }
</style>
Vuetify插件文件:

import Vue from 'vue';
import Vuetify from '../plugins/vuetify' 
import App from './App';

Vue.use(Vuetify);

new Vue({
  Vuetify,
  components: { App }, 
  render: h => h(App)
}).$mount('#app')
import Vue from 'vue';
import Vuetify from 'vuetify/lib'; 
import 'vuetify/dist/vuetify.min.css';

Vue.use(Vuetify);
export default new Vuetify({});
<template>
    <v-app id="inspire">
      <v-alert type="success">
          I'm a success alert. {{ message }}
      </v-alert>
    </v-app>
</template>

<script>
//import { VApp, VAlert } from 'vuetify/lib' 

export default {
  data () {
    return {
      message: "Additional message"
    }
  }
}
</script>

<style scoped>
    p { font-size: 20px; }
</style>
Vue文件(App.Vue):

import Vue from 'vue';
import Vuetify from '../plugins/vuetify' 
import App from './App';

Vue.use(Vuetify);

new Vue({
  Vuetify,
  components: { App }, 
  render: h => h(App)
}).$mount('#app')
import Vue from 'vue';
import Vuetify from 'vuetify/lib'; 
import 'vuetify/dist/vuetify.min.css';

Vue.use(Vuetify);
export default new Vuetify({});
<template>
    <v-app id="inspire">
      <v-alert type="success">
          I'm a success alert. {{ message }}
      </v-alert>
    </v-app>
</template>

<script>
//import { VApp, VAlert } from 'vuetify/lib' 

export default {
  data () {
    return {
      message: "Additional message"
    }
  }
}
</script>

<style scoped>
    p { font-size: 20px; }
</style>
我还尝试在主JS文件和Vue文件本身中手动导入组件:

import Vue from 'vue';
import Vuetify, {
    VApp, VAlert
} from 'vuetify/lib';
import 'vuetify/dist/vuetify.min.css';

Vue.use(Vuetify, {
    components: {
        VApp, VAlert
    }
});
export default new Vuetify({});

要将Vuetify安装到Web包项目中,您需要添加一些依赖项:

$ npm install vuetify
安装后,找到webpack.config.js文件并将下面的代码段复制到规则数组中。如果已配置现有sass规则,则可能需要应用以下部分或全部更改。如果您希望利用vuetify加载程序进行树形搜索,请确保您使用的是版本>=4的Webpack

// webpack.config.js

module.exports = {
  rules: [
    {
      test: /\.s(c|a)ss$/,
      use: [
        'vue-style-loader',
        'css-loader',
        {
          loader: 'sass-loader',
          // Requires sass-loader@^7.0.0
          options: {
            implementation: require('sass'),
            fiber: require('fibers'),
            indentedSyntax: true // optional
          },
          // Requires sass-loader@^8.0.0
          options: {
            implementation: require('sass'),
            sassOptions: {
              fiber: require('fibers'),
              indentedSyntax: true // optional
            },
          },
        },
      ],
    },
  ],
}
为Vuetify创建一个包含以下内容的插件文件src/plugins/Vuetify.js:

// src/plugins/vuetify.js

import Vue from 'vue'
import Vuetify from 'vuetify'
import 'vuetify/dist/vuetify.min.css'

Vue.use(Vuetify)

const opts = {}

export default new Vuetify(opts)
现在您应该能够使用Vuetify组件了。

您正在使用哪个版本的vuetify?vuetify v2.2.27尝试删除Vue.use(vuetify);从newtab.js在newtab.js中导入时,还将Vuetify重命名为Vuetify(只是约定)