前言
我们在搭建vue3项目的时候不可避免的会遇到“代理”、“端口”、“打包名”、“图片压缩”等配置问题,本文逐一讲述该怎么样在vue.config.js中去配置。
一、配置代理端口和代理转发
const {defineConfig} = require('@vue/cli-service') module.exports = defineConfig({ devServer: { host: 'localhost', port: 3000, // 启动端口号 proxy: { '/api': { // 请求接口中要替换的标识 target: 'http://117.62.22.235:17009', // 代理地址 ChangeOrigin: true, // 是否允许跨域 secure: true, pathRewrite: { '^/api': '' // 这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可 } } } } })
复制
二、修改打包名
const {defineConfig} = require('@vue/cli-service') module.exports = defineConfig({ publicPath: './', // 打包位置 outputDir: 'distBigScreenForBase' // 包名 })
复制
三、图片压缩
图片压缩先要引入image-webpack-loader插件
命令:npm install image-webpack-loader --save-dev
const {defineConfig} = require('@vue/cli-service') module.exports = defineConfig({ // 图片压缩 chainWebpack: config => { const imagesRule = config.module.rule('images') imagesRule .use('image-webpack-loader') .loader('image-webpack-loader') .options({ bypassOnDebug: true }) .end() } })
复制
四、完整代码
const {defineConfig} = require('@vue/cli-service') module.exports = defineConfig({ publicPath: './', // 打包位置 outputDir: 'distBigScreenForBase', // 包名 devServer: { host: 'localhost', port: 3000, // 启动的端口号 proxy: { '/api': { // 请求接口中要替换的标识 target: 'http://117.62.22.235:17009', // 代理地址 ChangeOrigin: true, // 是否允许跨域 secure: true, pathRewrite: { '^/api': '' // 这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可 } } } }, // 图片压缩 chainWebpack: config => { const imagesRule = config.module.rule('images') imagesRule .use('image-webpack-loader') .loader('image-webpack-loader') .options({ bypassOnDebug: true }) .end() }, })
复制
总结
vue3的配置和vue2有所不同,不能照搬照套vue2,那样会报错。这里没有用vite,用的是vue cli,所以在vue.config.js中配置。如果是vite项目则在vite.config.js,具体可参考https://mp.csdn.net/mp_blog/creation/editor/131852773 代码可以直接copy,亲测有效,只需要修改成自己想要的文件名、路径即可。