const { defineConfig } = require('@vue/cli-service') const path = require('path') const postcssPxToRem = require("postcss-pxtorem") // function resolve(dir) { // return path.join(__dirname, dir); // } module.exports = defineConfig({ transpileDependencies: true, publicPath: './', // lintOnSave:false, // devServer:{ // host:'0.0.0.0', // port:8080, // client:{ // webSocketURL:'ws://0.0.0.0:8080/ws', // }, // headers:{ // 'Accept-Control-Allow-Origin':'*', // } // }, chainWebpack: config => { //svg图标加载 config.module .rule('svg') .exclude.add(path.join(__dirname, 'src/assets/icons/svg')) //.exclude.add(resolve('src/icons')) .end() config.module .rule('icons')//定义一个名叫icons的规则 .test(/\.svg$/)//设置icons的匹配正则 //设置当前规则的作用目录,只在当前目录下才执行当前规则 .include.add(path.join(__dirname, 'src/assets/icons')) //   .include.add(resolve('src/icons')) .end() .use('svg-sprite-loader')//指定一个命叫svg-sprite的loader配置 .loader('svg-sprite-loader')//改配置使用svg-sprite-loader作为处理loader .options({ // 该 svg-sprite-loader 的配置 symbolId: 'icon-[name]' }) .end() }, css: { loaderOptions: { postcss: { postcssOptions: { plugins: [ postcssPxToRem({ rootValue: 16, // 基准值,根据设计稿调整 propList: ['*'], // 需要转换的属性,这里设置为全部 }) ] } } } } })