const CompressionPlugin = require("compression-webpack-plugin"); module.exports = { productionSourceMap: false, //publicPath: process.env.NODE_ENV === 'production' // ? '/vueScreen/' // : '/', publicPath:'./', devServer: { open: true, // host: "10.16.4.3", port: 8080, https: false, hotOnly: false, proxy: { "/bigScreen": { target: "https://mz.tshe.cn/bigScreen", // 生产后端路径 ws: true, // 是否启用websockets changeOrigin: true, //开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题 pathRewrite: { "^/bigScreen": "" //这里理解成用'/api'代替target里面的地址,比如我要调用'http://40.00.100.100:3002/user/add',直接写'/api/user/add'即可 } }, "/collection": { target: "https://mz.tshe.cn/collection", // 生产后端路径 // target: "https://info.windd.cn/collection", // 生产后端路径 ws: true, // 是否启用websockets changeOrigin: true, //开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题 pathRewrite: { "^/collection": "" //这里理解成用'/api'代替target里面的地址,比如我要调用'http://40.00.100.100:3002/user/add',直接写'/api/user/add'即可 } }, } }, configureWebpack: () => { if (process.env.NODE_ENV === 'production') { return { plugins: [ new CompressionPlugin({ test: /\.js$|\.html$|\.css$|\.jpg$|\.jpeg$|\.png/, // 需要压缩的文件类型 threshold: 10240, // 归档需要进行压缩的文件大小最小值,我这个是10K以上的进行压缩 deleteOriginalAssets: false // 是否删除原文件 }) ], } } }, css: { loaderOptions: { postcss: { // 这是rem适配的配置 注意: remUnit在这里要根据lib-flexible的规则来配制,如果您的设计稿是750px的,用75就刚刚好。 plugins: [ require("postcss-px2rem")({ remUnit: 192 }) ] } } } };