据我发现,uglifyJS 会忽略单引号字符串中的转义双引号。
'test \" + foo + \"'
结果
'test " + foo + "'
这只是一种错误的行为。
我有一个 .js
,我想缩小它,并且该数据必须转换为 JSON。但 JSON API 必须是这样的。
{
string: "test \" + foo + \""
}
不是
{
string: "test " + foo + ""
}
有没有办法配置 uglifyJS 使其不忽略 \"
目前,我丑化了我的 JavaScript,并将所有 \"
替换为占位符。在此之后,我用所有占位符进行字符串替换以使其正常工作。
但后来我的测试不起作用。
编辑:我的 Javascript
的 uglify 版本也必须是有效的 JSON
和有效的 Javascript
。
编辑:根据要求,真实示例的一部分。必须对该代码进行丑化,然后将其放入 JSON 中。
var privacylink = '#privacyButtonURL#';
link = '<a href=\"' + privacylink + '\" target=\"_blank\" style=\"color:#4398b5; text-decoration:underline;\">hear</a>';
丑化版本将是
var a="#privacyButtonURL#", b='<a href="'+a+'" target="_blank" style="color:#4398b5; text-decoration:underline;">hear</a>'
这行不通。
JSON.stringify('var a="#privacyButtonURL#", b='<a href="'+a+'" target="_blank" style="color:#4398b5; text-decoration:underline;">hear</a>'')
最佳答案
关于javascript - 不要转义双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41020694/