簡體   English   中英

如何在es6中將正則表達式導出為const?

[英]How do I export a regex as a const in es6?

我有一個正則表達式,它在許多類中都反復使用。 這是對DRY的違反,如果將來需要更改,可能會造成痛苦。 因此,我決定將其移至通用js並導出。 下面是代碼:

const CommonValues = {
  TEXT_FILTER_REGEX: /^[,.?!:"—]$/
};
export CommonValues;

導入CommonValues后,我可以這樣使用它:

let result = CommonValues.TEXT_FILTER_REGEX.test('foo,bar'));

但是無論我嘗試什么,我都會在控制台中不斷收到此錯誤:

未捕獲的錯誤:模塊解析失敗:'const'不能用作速記屬性(5:2)您可能需要適當的加載程序來處理此文件類型。

我還嘗試以相同的方式導出整數和字符串,它們都可以正常工作。 這使我想知道在導出時是否對正則表達式進行了不同的處理?

這似乎奇跡般地解決了自己。 我完全困惑。 我想這將是暫時的通貨小故障。

感謝您的任何建議。

我通過做以下工作。 我不確定您的RegExp ' /^[,.?!:"—]$/ '是做什么的,但是我嘗試使用digit RegEx =^[0-9]$並得到了預期的結果;

我得到的錯誤是關於在TypeScript的原型中沒有定義test()的string類型。 只有RegExp具有。

export const Constants = {
  TEXT_FILTER_REGEX:  new RegExp('^[,.?!:"—]$')
}

一個正在工作的pl夫在這里

測試可以完全相同的方式進行。 您需要修剪/並使其使用RegExp對象。

new RegExp('UrRegexHere')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM