我在Javascript文件中有以下数组变量,旨在传递给Purgecss以获取其whitelistPatterns
选项(请注意,我专门从gulp-purgecss
插件中使用它(:
var purgeWLP = [
/^carousel-item.*/,
/collapsing/,
/show/,
];
现在我想将此变量和其他项目变量存储在外部.json
文件中,该文件旨在从不同位置和文件访问;我尝试使用以下代码:
{
"wlp": [
"/^carousel-item.*/",
"/collapsing/",
"/show/"
]
}
但是我遇到了错误并且没有得到我期望的结果,即与 javascript 文件中的purgeWLP
变量完全相同的结果。
如何将正则表达式值数组正确存储在.json
文件中并从 Javascript 中检索它?
将它们存储为不带斜杠的字符串,并在解析 JSON 字符串后将它们转换回正则表达式对象:
const json = `{
"wlp": [
"^carousel-item.*",
"collapsing",
"show"
]
}`
const wlp = JSON.parse(json).wlp // or const wlp = require('./project.json').wlp on nodejs
.map(str => new RegExp(str))
console.log(wlp)
要保存它们,您可以使用JSON.stringify()
并将每个 RegExp 对象映射到其源字符串(请参阅伊曼纽尔·温蒂勒的评论(:
var purgeWLP = [
/^carousel-item.*/,
/collapsing/,
/show/,
];
var result = JSON.stringify(purgeWLP.map(re => re.source));
console.log(result);