vue.config.cjs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. const path = require('path')
  2. // const AutoImport = require("unplugin-auto-import/webpack")
  3. // const Components = require("unplugin-auto-import/webpack")
  4. const {ElementPlusResolver} = require("unplugin-vue-components/resolvers")
  5. module.exports = {
  6. lintOnSave: false,
  7. configureWebpack:{
  8. plugins: [
  9. // AutoImport({
  10. // resolvers: [ElementPlusResolver()],
  11. // }),
  12. // Components({
  13. // resolvers: [ElementPlusResolver()],
  14. // }),
  15. require('unplugin-element-plus/webpack')({})
  16. ],
  17. // watchOptions:{
  18. // poll:1000
  19. // }
  20. },
  21. chainWebpack: config => {
  22. const dir = path.resolve(__dirname, 'src/assets/svg') // icon存放路径
  23. config.module
  24. .rule('svg-sprite')
  25. .test(/\.svg$/) //使用条件:.svg结尾的文件
  26. .include.add(dir).end() //包含icons目录
  27. .use('svg-sprite-loader')
  28. .loader('svg-sprite-loader')
  29. .options({extract: false,symbolId:'icon-[name]'}).end() //规定需要用svg-sprite-loader这个loader,extract: false表明,不要生成其他的文件
  30. config.plugin('svg-sprite').use(require('svg-sprite-loader/plugin'), [{plainSprite: true}])
  31. config.module.rule('svg').exclude.add(dir) //其他目录的.svg文件,不需要用到以上规则
  32. },
  33. };