当前位置:   article > 正文

【element-plus】自动导入 + typescript 提示 + 自定义主题色

【element-plus】自动导入 + typescript 提示 + 自定义主题色

1、自动导入

2、引用加载组件类型提示


第一步:安装自动导入功能所需的插件 

npm install -D unplugin-vue-components unplugin-auto-import

 第二步:

vite版:

  1. // vite.config.ts
  2. import { defineConfig } from 'vite'
  3. import AutoImport from 'unplugin-auto-import/vite' //必须
  4. import Components from 'unplugin-vue-components/vite' //必须
  5. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' //必须
  6. export default defineConfig({
  7. // ...
  8. plugins: [
  9. // ...
  10. AutoImport({ //必须
  11. resolvers: [ElementPlusResolver()], //必须
  12. }), //必须
  13. Components({ //必须
  14. resolvers: [ElementPlusResolver()], //必须
  15. }), //必须
  16. ],
  17. })

webpack

  1. // webpack.config.js
  2. const AutoImport = require('unplugin-auto-import/webpack')
  3. const Components = require('unplugin-vue-components/webpack')
  4. const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
  5. module.exports = {
  6. // ...
  7. plugins: [
  8. AutoImport({
  9. resolvers: [ElementPlusResolver()],
  10. }),
  11. Components({
  12. resolvers: [ElementPlusResolver()],
  13. }),
  14. ],
  15. }

第三步:使用组件库时获取ts类型提示 >  tsconfig.json 文件的 types 添加ts文件路径

编辑器安装 Volar 插件(新名字 Vue - Official)

  1. {
  2. "compilerOptions": {
  3. "types": [
  4. "element-plus/global" //必须
  5. ],
  6. },
  7. }

自定义主题色:本文使用的scss

1、 npm install -D sass unplugin-element-plus

2、 创建你自定义主题色的文件

  1. /* 只需要重写你需要的即可 */
  2. @forward "element-plus/theme-chalk/src/common/var.scss" with (
  3. $colors: (
  4. "primary": (
  5. "base": #ff0101,
  6. ),
  7. "success": (
  8. "base": #ff0101,
  9. ),
  10. "warning": (
  11. "base": #ff0101,
  12. ),
  13. "danger": (
  14. "base": #ff0101,
  15. ),
  16. "error": (
  17. "base": #ff0101,
  18. ),
  19. "info": (
  20. "base": #ff0101,
  21. ),
  22. )
  23. );

3、配置 vite 自定义主题色的设置 【官方代码例子有问题。。。】

  1. import { resolve } from "path";
  2. import { defineConfig } from "vite";
  3. import AutoImport from "unplugin-auto-import/vite";
  4. import Components from "unplugin-vue-components/vite";
  5. import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
  6. import ElementPlus from "unplugin-element-plus/vite";
  7. import vue from "@vitejs/plugin-vue";
  8. export default defineConfig({
  9. ......
  10. css: {
  11. preprocessorOptions: {
  12. scss: {
  13. //你的主题文件路径
  14. additionalData: `@use "@/assets/style/element-plus/theme.scss" as *;`,
  15. },
  16. },
  17. },
  18. plugins: [
  19. ......
  20. Components({
  21. // importStyle 必须!
  22. resolvers: [ElementPlusResolver({ importStyle: "sass" })],
  23. }),
  24. ElementPlus({
  25. // 必须!
  26. useSource: true,
  27. }),
  28. ],
  29. ......
  30. });

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/575512
推荐阅读
相关标签
  

闽ICP备14008679号