埃驰前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

101 lines
3.4 KiB

/**
* 配置参考: https://cli.vuejs.org/zh/config/
*/
var webpack = require('webpack');
const path = require('path')
const pxtovw = require('postcss-px-to-viewport');
function resolve(dir) {
return path.join(__dirname, dir)
}
module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
chainWebpack: config => {
const svgRule = config.module.rule('svg')
svgRule.uses.clear()
svgRule
.test(/\.svg$/)
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
// svg图标加载
config.module
.rule('svg')
.exclude.add(resolve('src/assets/svg/icons'))
.end()
config.module
.rule('icons')// 定义一个名叫 icons 的规则
.test(/\.svg$/)// 设置 icons 的匹配正则
.include.add(resolve('src/assets/svg/icons'))// 设置当前规则的作用目录,只在当前目录下才执行当前规则
.end()
.use('svg-sprite')// 指定一个名叫 svg-sprite 的 loader 配置
.loader('svg-sprite-loader')// 该配置使用 svg-sprite-loader 作为处理 loader
.options({// 该 svg-sprite-loader 的配置
symbolId:'icon-[name]'
})
.end()
},
configureWebpack: {
resolve: {
alias: {
'@': resolve('src')
}
},
plugins: [],
},
// eslint : false,
// 默认打开eslint效验,如果需要关闭,设置成false即可
lintOnSave: false,
productionSourceMap: false,
devServer: {
open: true,
port: 20037,
https: false,
hotOnly: false,
overlay: {
errors: true,
warnings: true
},
// proxy: {
// '/asn': {
// target: 'http://192.168.0.67:8081',
// changeOrigin: true,
// // logLevel: 'debug',
// pathRewrite: {
// '^/asn': ''
// }
// }
// }
},
// css: {
// loaderOptions: {
// sass: {
// //给sass-loader传递选项
// },
// css: {
// //给css-loader传递选项
// },
// postcss: {
// //给postcss-loader传递选项
// plugins: [
// new pxtovw({
// unitToConvert: 'px', //需要转换的单位,默认为"px";
// viewportWidth: 375, //设计稿的视口宽度
// unitPrecision: 5, //单位转换后保留的小数位数
// propList: ['*'], //要进行转换的属性列表,*表示匹配所有,!表示不转换
// viewportUnit: 'vw', //转换后的视口单位
// fontViewportUnit: 'vw', //转换后字体使用的视口单位
// selectorBlackList: [], //不进行转换的css选择器,继续使用原有单位
// minPixelValue: 1, //设置最小的转换数值
// mediaQuery: false, //设置媒体查询里的单位是否需要转换单位
// replace: true, //是否直接更换属性值,而不添加备用属性
// exclude: [/node_modules/] //忽略某些文件夹下的文件
// })
// ]
// }
// }
// }
}