当前位置: 首页 > news >正文

在 Vue 项目中,vue.config.js 同时配置代理和别名

在 Vue 项目中,vue.config.js 文件是用于配置 Vue CLI 项目的一些选项,例如代理(proxy)和别名(alias)。如果你想同时配置代理和别名,可以按照以下方式进行设置。

1. 安装和配置 vue.config.js

首先,确保你的项目中存在 vue.config.js 文件。如果没有,你可以在项目根目录下创建一个。

2. 配置代理(Proxy)

在 vue.config.js 中,你可以使用 devServer 对象来配置开发服务器的代理。例如,如果你希望将 /api 的请求代理到 http://localhost:3000,可以这样配置:

module.exports = {devServer: {proxy: {'/api': {target: 'http://localhost:3000',changeOrigin: true,pathRewrite: { '^/api': '' }}}}
}

3. 配置别名(Alias)

在同一个 vue.config.js 文件中,你也可以使用 configureWebpack 或 chainWebpack 来配置 webpack 的别名。例如,如果你希望将 @ 指向 src 目录,可以这样配置:

使用 configureWebpack
module.exports = {configureWebpack: {resolve: {alias: {'@': path.resolve(__dirname, 'src')}}}
}
使用 chainWebpack(推荐方式)
const path = require('path');module.exports = {chainWebpack: config => {config.resolve.alias.set('@', path.resolve(__dirname, 'src'))}
}

4. 结合使用代理和别名

你可以将代理和别名配置结合在同一个 vue.config.js 文件中,如下所示:

const path = require('path');module.exports = {devServer: {proxy: {'/api': {target: 'http://localhost:3000',changeOrigin: true,pathRewrite: { '^/api': '' }}}},configureWebpack: {resolve: {alias: {'@': path.resolve(__dirname, 'src')}}}// 或者使用 chainWebpack 配置别名,如上所示的第二种方式。
}

const path = require("path");
const webpack = require('webpack');
// 拼接路径
const resolve = (dir) => require('path').join(__dirname, dir)module.exports = {assetsDir: 'static',// 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录productionSourceMap: false, //如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。devServer: {host: "0.0.0.0",port: 8080, // 端口号https: false, // https:{type:Boolean}open: true, // 配置自动启动浏览器  open: 'Google Chrome'-默认启动谷歌// 配置多个代理proxy: {"/api": {target: "http://localhost:3000",ws: true, //代理的WebSocketschangeOrigin: true, // 允许websockets跨域pathRewrite: { '^/api': '' }  // 移除路径中的/farm前缀}},before: (app) => {app.use((req, res, next) => {console.log('代理请求路径:', req.originalUrl);  // 打印原始请求路径console.log('代理目标地址:', this.proxy);      // 打印代理目标next();});}},chainWebpack: config => {config.resolve.alias.set('@', path.resolve(__dirname, 'src'))}}

通过以上设置,你可以同时配置开发服务器的代理和 webpack 的别名。这样,你的 Vue 项目就可以在开发环境中更方便地管理和使用 API 以及模块路径了

http://www.dtcms.com/a/569022.html

相关文章:

  • 用网站ip做代理服务器带dede后台的整套网站源码 数据库连接不上
  • 【Java】JVM 内存区域划分
  • 上海广告公司网站制作wordpress 防止爆破插件
  • SSM基于HTML5的环保公益网站d4sf1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 23.目标检测基础
  • 详解JDK21新特性【虚拟线程】
  • 简单但好用:4种Selenium截图方法
  • 实验室安全教育与管理平台学习记录(九)消防安全
  • CS336笔记2-Architectures,Hyperparameters
  • 解决leetcode第3734题大于目标字符串的最小字典序回文排列
  • mysql数据做彩票网站网站建设合作合同模板下载
  • 抖音很火的多弹窗系统源码 多用户版 附教程
  • EtherNet/IP转 EtherCAT 物联网网关实现汇川PLC与施耐德伺服数据交互
  • 个人网站空间网站建设步骤详解视频
  • 【前端】js写十种排序算法(未完待续…)
  • c实践复建运动
  • io_uring:Linux 上的高性能异步 I/O
  • TPP热蛋白组分析:样本全覆盖-温度梯度设置指南,精准捕获作用靶点
  • Oracle dgbroker常规命令管理简介
  • PsLoggedOn(7.17):谁在登录?多会话取证与审计
  • 深圳网站美化美容培训东莞网站建设
  • 网站开发流程主要分成什么wordpress 文艺小清新
  • 【Java8新特性】Stream 流深度实战:创建 /filter/map/collect 常用操作 + 惰性求值原理解析 + 并行安全避坑
  • 【STM32】智能排队控制系统
  • AISaaS出海工具整理
  • 电商网站如何做精细化运营dw软件下载官方免费下载
  • 在线教程丨端侧TTS新SOTA!NeuTTS-Air基于0.5B模型实现3秒音频克隆
  • 测试开发话题10---自动化测试常用函数(2)
  • Auto CAD二次开发——镜像图形对象
  • 软考 关于23种设计模式