vue.config.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. const { defineConfig } = require('@vue/cli-service')
  2. const path = require('path')
  3. const postcssPxToRem = require("postcss-pxtorem")
  4. // function resolve(dir) {
  5. // return path.join(__dirname, dir);
  6. // }
  7. module.exports = defineConfig({
  8. transpileDependencies: true,
  9. publicPath: './',
  10. // lintOnSave:false,
  11. // devServer:{
  12. // host:'0.0.0.0',
  13. // port:8080,
  14. // client:{
  15. // webSocketURL:'ws://0.0.0.0:8080/ws',
  16. // },
  17. // headers:{
  18. // 'Accept-Control-Allow-Origin':'*',
  19. // }
  20. // },
  21. chainWebpack: config => {
  22. //svg图标加载
  23. config.module
  24. .rule('svg')
  25. .exclude.add(path.join(__dirname, 'src/assets/icons/svg'))
  26. //.exclude.add(resolve('src/icons'))
  27. .end()
  28. config.module
  29. .rule('icons')//定义一个名叫icons的规则
  30. .test(/\.svg$/)//设置icons的匹配正则
  31. //设置当前规则的作用目录,只在当前目录下才执行当前规则
  32. .include.add(path.join(__dirname, 'src/assets/icons'))
  33. //   .include.add(resolve('src/icons'))
  34. .end()
  35. .use('svg-sprite-loader')//指定一个命叫svg-sprite的loader配置
  36. .loader('svg-sprite-loader')//改配置使用svg-sprite-loader作为处理loader
  37. .options({
  38. // 该 svg-sprite-loader 的配置
  39. symbolId: 'icon-[name]'
  40. })
  41. .end()
  42. },
  43. css: {
  44. loaderOptions: {
  45. postcss: {
  46. postcssOptions: {
  47. plugins: [
  48. postcssPxToRem({
  49. rootValue: 16, // 基准值,根据设计稿调整
  50. propList: ['*'], // 需要转换的属性,这里设置为全部
  51. })
  52. ]
  53. }
  54. }
  55. }
  56. }
  57. })