我有一个正则表达式,在许多类中重复使用。如果需要在将来改变,这是对DRY的侵犯和潜在的痛苦。因此我决定将它移到一个普通的js并导出它。以下是代码:
const CommonValues = {
TEXT_FILTER_REGEX: /^[,.?!:"—]$/
};
export CommonValues;
导入CommonValues后,我这样使用它:
let result = CommonValues.TEXT_FILTER_REGEX.test('foo,bar'));
但无论我尝试什么,我都会在控制台中收到此错误:
未捕获错误:模块解析失败:'const'不能用作速记属性(5:2) 您可能需要适当的加载程序来处理此文件类型。
我也尝试以相同的方式导出整数和字符串,它们都没有任何问题。这让我想知道在出口时正则表达式是否以某种方式被区别对待?
这似乎奇迹般地固定了自己。我完全不知所措。我想这将是一个暂时的巴贝尔故障。
感谢您的任何建议。
答案 0 :(得分:-1)
我通过以下方式开展工作。
我不确定您RegExp
'/^[,.?!:"—]$/
'的作用,但我尝试了digit
RegEx =^[0-9]$
并得到了预期的结果;
我得到的错误是关于string
类型没有在TypeScript中的原型上定义test()。只有RegExp才有。
export const Constants = {
TEXT_FILTER_REGEX: new RegExp('^[,.?!:"—]$')
}
工作的掠夺者是here
测试可以完全相同的方式完成。您需要修剪/
并使用
RegExp
个对象
new RegExp('UrRegexHere')