Javascript 使用webpack将Vuetify集成到Vue CLI应用程序中
我有一个使用网页包的Vue CLI应用程序,我正在集成Vuetify。由于某些原因,我无法正确加载Vuetify组件 我收到以下警告: 未知自定义元素: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
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(只是约定)