這個問題在這里已經有了答案: 將用戶輸入字串轉換為正則運算式 13 個答案 23 小時前關閉。
我正在使用節點包cors,我想將正則運算式傳遞到允許的來源。盡管如此,由于我將我的節點應用程式托管在多個服務器上用于“生產”和“暫存”,因此我使用環境變數來存盤來源。盡管如此,當 env 變數被決議時,它們會作為字串回傳。
這是我的環境變數的示例
CORS_ORIGINS=/\.example\.com$/,/\.example\.app$/
這意味著根據 so express 檔案,我只希望同時具有“example.com”和“example.app”的來源作業,所以我決議 env 變數如下
export const CORS_ORIGINS = process.env.CORS_ORIGINS?.split(',')
但是在 cors 的起源中設定的是["/\.example\.com$/", "/\.example\.app$/"]
我如何做到這一點[/\.example\.com$/, /\.example\.app$/]。
uj5u.com熱心網友回復:
您可以使用 RegExp 建構式從字串創建 RegExp。在這種情況下,您需要稍微修改環境變數
CORS_ORIGINS=\\.example\\.com$,\\.example\\.app$
然后在你的代碼中
export const CORS_ORIGINS = process.env.CORS_ORIGINS?.split(',').map(item => new RegExp(item));
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/503955.html
標籤:javascript 节点.js 正则表达式 表示 环境变量
上一篇:錯誤[ERR_HTTP_HEADERS_SENT]:在將標頭發送到客戶端后無法設定標頭在nodejs中使用重定向時發生錯誤
