是否可以从 Angular proxy.config.js 文件访问本地存储?

Posted

技术标签:

【中文标题】是否可以从 Angular proxy.config.js 文件访问本地存储?【英文标题】:Is it possible to access localstorage from Angular proxy.config.js file? 【发布时间】:2022-01-18 03:38:57 【问题描述】:

我正在尝试使用代理来更新基本 url 并附加来自本地存储的令牌。我可以更新 URL,但是当我尝试访问令牌时,它给了我错误 ReferenceError: window is not defined。是否可以从代理访问本地存储。我试过localstorage.getItem('token')windows.localstorage.getItem('token')

我的proxy.conf.js 文件如下所示

const PROXY_CONF = [
    
        context: ['/testData/*'],
        target: 'https://test.com/',
        secure: false,
        changeOrigin: true,
        bypass: function (req, res, proxyOptions) 
            req.headers['authorization'] = typeof window !== 'undefined' ? window.localStorage.getItem(`token`) : '';
        ,
    
];
module.exports = PROXY_CONF;

【问题讨论】:

【参考方案1】:

Proxy.config.js 是 webpack 内部使用的配置。它对浏览器一无所知。此服务器用于开发目的,您不会在实际的产品环境中部署/使用此人。

如果您想在请求中添加不记名令牌(或任何其他类型的令牌),您必须创建一个interceptor。这是教程的link

【讨论】:

我想将令牌添加到来自 Web 组件的请求以及我们在内部创建的自定义元素中。我尝试了拦截器,但它不适用于自定义元素。你知道如何拦截库和自定义元素中的请求吗?

以上是关于是否可以从 Angular proxy.config.js 文件访问本地存储?的主要内容,如果未能解决你的问题,请参考以下文章

通过 POST 从 Angular 向 Springboot 发送数据

从订阅者 Angular 获取数据的问题

是否可以在主屏幕上隐藏 APP 图标(Cordova - Angular App)

在 Angular 2 中打破 NgFor 循环

angular2 fullstack 教程从头开始

Angular - 如何从 DOM 中删除我使用过 $compile 的元素?