全局组件(插件):就是指可以在main.js中使用Vue.use()进行全局引入,然后在其他组件中就都可以使用了,如vue-router
- import VueRouter from 'vue-router'
- Vue.use(VueRouter)
普通组件(插件):每次使用时都要引入,如axios
- import axios from 'axios'
- 定义组件
<template> <div id="login"> {{msg}} </div> </template> <script> export default { data(){ return { msg:'用户登陆' } } } </script> <style scoped> #login{ color:red; font-size:20px; text-shadow:2px 2px 5px #000; } </style>
- 注册为全局组件 index.js
import Login from './Login.vue' export default { install:function(Vue){ Vue.component('Login',Login); } }
- main.js中全局引入
import Vue from 'vue' import App from './App.vue' import Login from './components/user' Vue.use(Login); new Vue({ el: '#app', render: h => h(App) })
- App.vue调用
<template> <div id="app"> <Login></Login> </div> </template>
另外Element UI是饿了么提供的全局组件,[官网](http://element.eleme.io/)
安装
- npm install element-ui -S
在main.js中引入并使用组件
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import lang from 'element-ui/lib/locale/lang/en'
import locale from 'element-ui/lib/locale'
Vue.use(ElementUI)
在webpack.config.js中添加loader
CSS样式和字体图标都需要由相应的loader来加载,所以需要style-loader css-loader
默认并没有style-loader模块,所以需要单独安装
npm install style-loader --save-dev