element-plus按需导入
vue.config.js
const path = require('path');
// const ComponentsPlugin = require('unplugin-vue-components/webpack');
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
module.exports = {
publicPath:'./',
outputDir:"isz-baoan",
assetsDir:"static",
indexPath:"index.html",
devServer: {
host: "0.0.0.0",
port: 3000,
open: true,
hotOnly: true, // 热更新
proxy: {
'/local/form/*': { //第三方应用资源
target: '',
secure: false,
pathRewrite: {}
}
},
},
transpileDependencies: [
'vuetify'
],
pluginOptions: {
"style-resources-loader": {
preProcessor: "less",
patterns: [
// 存放less变量文件的路径
// path.resolve(__dirname, "./src/assets/less/parameter.less")
]
}
},
css: {
loaderOptions: {
less: {
lessOptions: {
modifyVars: {
'primary-color': '#ec6800'
},
javascriptEnabled: true,
},
},
},
},
configureWebpack: {
plugins: [
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
},
}
main.js
import { createApp } from 'vue'
import router from './route'
import App from './App.vue'
import Config from "./api/config.js"
import Global from './api/global.js'
import "./assets/css/base.css"
import { ElLoading,ElMessage,ElMessageBox } from 'element-plus'
import 'element-plus/dist/index.css'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
const app = createApp(App)
app.use(router).use(ElLoading).use(ElMessage).use(ElMessageBox).mount('#app')
app.config.globalProperties.$global=Object.assign(Config,Global)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component)
}