/* * @Descripttion: * @version: 1.0.0 * @Author: Bridge * @Date: 2021-07-14 11:09:55 */ const path = require('path') const pxtovw = require('postcss-px-to-viewport') const debug = process.env.NODE_ENV !== 'production' /* eslint-disable */ module.exports = { publicPath: process.env.NODE_ENV === 'development' ? '/' : './', assetsDir: 'static', outputDir: 'www', productionSourceMap: false, css: { loaderOptions: { postcss: { // 给postcss-loader传递选项 plugins: [ new pxtovw({ unitToConvert: 'px', // 需要转换的单位,默认为"px"; viewportWidth: 750, // 设计稿的视口宽度 unitPrecision: 5, // 单位转换后保留的小数位数 propList: ['*'], // 要进行转换的属性列表,*表 示匹配所有,!表示不转换 viewportUnit: 'vw', // 转换后的视口单位 fontViewportUnit: 'vw', // 转换后字体使用的视口单位 selectorBlackList: [], // 不进行转换的css选择器,继续使用原有单位 minPixelValue: 1, // 设置最小的转换数值 mediaQuery: false, // 设置媒体查询里的单位是否需要转换单位 replace: true, // 是否直接更换属性值,而不添加备用属性 exclude: [/node_modules/] // 忽略某些文件夹下的文件 }) ] } } }, chainWebpack: config => { // 移除 prefetch 插件 config.plugins.delete('prefetch') }, configureWebpack: config => { // webpack配置,值位对象时会合并配置,为方法时会改写配置 if (debug) { // 开发环境配置 config.devtool = 'cheap-module-eval-source-map' } else { // 生产环境配置 } config.externals = { 'uni': 'uni', } Object.assign(config, { // 开发生产共同配置,配置别名 resolve: { alias: { '@': path.resolve(__dirname, './src'), '@api': path.resolve(__dirname, './src/api'), vue$: 'vue/dist/vue.esm.js' } } }) }, devServer: { open: true, https: false, hotOnly: false, // host: 'localhost', port: 19999, headers: { 'Access-Control-Allow-Origin': '*', }, proxy: { '/api': { target: process.env.VUE_APP_API_BASE_URL, changeOrigin: true, logLevel: 'debug', ws: true, pathRewrite: { '^/api': '' } } }, before: app => {} }, lintOnSave: false }