Angular: 配置 proxy 解决跨域

配置 proxy.config.json

typescript 复制代码
{
  "/api": {
    "target": "http://localhost:3000",
    "secure": false,
    "logLevel": "debug",
    "changeOrigin": true,
    "pathRewrite": {
      "^/api": ""
    }
  }
}

在 angular.json 中配置 proxy

typescript 复制代码
"serve": {
     "builder": "@angular-devkit/build-angular:dev-server",
     "options": {
       "browserTarget": "min-wyy:build",
       "proxyConfig": "proxy.config.json"
     },
	...
}

service.module.ts

typescript 复制代码
import { isPlatformBrowser } from '@angular/common';
import { InjectionToken, NgModule, PLATFORM_ID } from '@angular/core';
import { httpInterceptorProvides } from './http-interceptors';


export const API_CONFIG = new InjectionToken('ApiConfigToken');
export const WINDOW = new InjectionToken('WindowToken');


@NgModule({
  declarations: [],
  imports: [
    
  ],
  providers: [
    {
      provide: API_CONFIG,
      useValue: '/api/' // useValue: 'http://localhost:3000/'
    },
    ...
  ]
})
export class ServicesModule { }
相关推荐
练习前端两年半3 分钟前
【Vue3 高级技巧】函数重载+Watch:打造类型安全的通用事件监听 Hook
前端·javascript·vue.js
一只小鸟儿14 分钟前
门户短信发送验证码及验证功能
前端·javascript·jquery
elangyipi12317 分钟前
pnpm :下一代包管理工具的原理与实践
前端·npm
代码的奴隶(艾伦·耶格尔)26 分钟前
Sentinel限流熔断
java·前端·sentinel
talenteddriver28 分钟前
mysql: MySQL中between子句和limit子句的区别
前端·javascript·数据库
A24207349301 小时前
深入浅出理解AJAX:核心原理与POST/GET区别详解
前端·ajax·okhttp
LYFlied1 小时前
【每日算法】LeetCode 300. 最长递增子序列
前端·数据结构·算法·leetcode·职场和发展
张较瘦_1 小时前
前端 | 代码可读性 + SEO 双提升!HTML 语义化标签实战教程
前端·html
似水流年QC1 小时前
前端国际化实战指南:i18n 工程化最佳实践总结
前端
GISer_Jing1 小时前
企业级前端脚手架:原理与实战指南
前端·前端框架