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

手机网站搜索医院线上预约

手机网站搜索,医院线上预约,网站建设中的英文,商城网站除了域名备案还要前端服务配置详解:从入门到实战 一、环境配置文件(.env) 1.1 基础结构 在项目根目录创建 .env 文件: # 开发环境 VUE_APP_API_BASE_URL http://localhost:3000/api VUE_APP_VERSION 1.0.0# 生产环境(.env.produc…

前端服务配置详解:从入门到实战

一、环境配置文件(.env)

1.1 基础结构

在项目根目录创建 .env 文件:

# 开发环境
VUE_APP_API_BASE_URL = http://localhost:3000/api
VUE_APP_VERSION = 1.0.0# 生产环境(.env.production)
VUE_APP_API_BASE_URL = https://api.yourdomain.com

🔑 作用说明

  • VUE_APP_ 开头的变量会被自动加载
  • 不同环境使用不同配置文件(.env.development / .env.production)
  • 敏感信息应放入 .env.local(该文件不会被Git跟踪)

1.2 实战技巧

// 在axios配置中使用
const baseURL = process.env.VUE_APP_API_BASE_URL;// 在代码中获取版本号
console.log(`当前版本:${process.env.VUE_APP_VERSION}`);

⚠️ 注意事项

  • 修改.env文件后需要重启服务
  • 变量名必须大写+下划线格式
  • 不要提交包含敏感信息的.env文件到版本库

二、Axios全局配置

2.1 创建实例

// src/config/axios.ts
import axios from 'axios';const service = axios.create({baseURL: process.env.VUE_APP_API_BASE_URL,timeout: 10000,headers: {'Content-Type': 'application/json'}
});

2.2 请求拦截器

service.interceptors.request.use((config) => {const token = localStorage.getItem('token');if (token) {config.headers.Authorization = `Bearer ${token}`;}return config;},(error) => {return Promise.reject(error);}
);

2.3 响应拦截器

service.interceptors.response.use((response) => {if (response.status === 200) {return response.data;}return Promise.reject(response);},(error) => {if (error.response.status === 401) {router.push('/login');}return Promise.reject(error);}
);

三、类型定义规范

3.1 请求头类型

// src/types/headers.ts
export interface HeadersType {'Content-Type': string;Authorization?: string;'X-Request-Tag'?: string;
}export const defaultHeaders = {'Content-Type': 'application/json','X-Request-Tag': 'web-2023'
};

3.2 API响应类型

// src/types/response.ts
export interface ApiResponse<T = any> {code: number;data: T;message: string;timestamp: number;
}

四、请求方法封装

4.1 GET请求示例

export const get = async <T>(url: string, params?: object): Promise<ApiResponse<T>> => {try {const response = await service.get(url, { params });return response.data;} catch (error) {console.error('GET请求错误:', error);throw error;}
};

4.2 POST请求示例

export const post = async <T>(url: string, data: object): Promise<ApiResponse<T>> => {try {const response = await service.post(url, data);return response.data;} catch (error) {console.error('POST请求错误:', error);throw error;}
};

五、跨域解决方案

5.1 Vue项目配置

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

5.2 生产环境处理

# Nginx配置示例
location /api/ {proxy_pass http://backend-server/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;
}

六、版本控制规范

6.1 提交示例

git commit -m "feat(config): 添加axios拦截器配置
- 新增请求头自动注入
- 添加401状态码处理
- 优化类型定义"

6.2 最佳实践

  1. 配置文件变更单独提交
  2. 提交信息使用标准前缀:
    • feat: 新增功能
    • fix: 问题修复
    • docs: 文档更新
    • refactor: 代码重构

总结

通过合理配置前端服务,我们可以实现:

  1. 环境隔离:开发/生产环境灵活切换
  2. 统一管理:请求配置集中维护
  3. 错误处理:全局异常捕获机制
  4. 类型安全:完善的TS类型支持
  5. 可维护性:清晰的版本控制记录

建议定期检查配置文件,及时更新依赖版本,保持配置与业务需求的同步发展。

http://www.dtcms.com/wzjs/466540.html

相关文章:

  • 如何判断网站是否被百度降权网站模板哪家好
  • 做苗木比较好的网站seo中文意思
  • 潍坊哪里做网站抖音推广网站
  • 网站如何做区域屏蔽代码东莞做网站的联系电话
  • 百度做网站seo研究中心晴天
  • 网站开发教程 视频教程有哪些免费推广软件
  • 房车网站建设意义搜索引擎优化的完整过程
  • 烟台网站建设yt谷歌广告开户
  • 北京通州区网站制作网络舆情处置的五个步骤
  • 嘉鱼网站建设业务推广平台
  • qq钓鱼网站制作网络推广 网站制作
  • 网上做兼职网站脑白金网络营销
  • 中山网站建设公司排名培训机构怎么找
  • 半路学网站建设难吗全网络品牌推广
  • 人力资源公司怎么找客户合肥seo报价
  • dedecms企业网站模板免费下载微信广点通广告平台
  • 做任务得得q币的网站德阳seo
  • 世界网站托管竞价推广公司
  • 有谁做过网站建设百度首页百度
  • 通城网站建设新冠咳嗽一般要咳多少天
  • wordpress保存图片不显示seo入门版
  • 网站建设执招标评分表百度上海推广优化公司
  • 国外优秀建筑设计网站深圳网络推广培训中心
  • 阿土伯网站做产品推广咋样福州关键词排名优化
  • 企业网站建设供应商百度浏览器下载安装
  • 服务器和域名都有了 怎么做网站win7运行速度提高90%
  • 郑州七彩网站建设公司 评论帮我搜一下长沙做网络销售
  • 安阳做网站哪家好凡科建站平台
  • 小游戏制作软件seo网络营销课程
  • 做京东网站需要哪些手续费设计网页的软件