这是我的代码:
var xxx = '\u{1F393}'
当我使用gulp-uglify时,收到以下错误消息:
“字符串中的无效十六进制字符模式”
答案 0 :(得分:0)
很不幸,您的gulp-uglify似乎不支持unicode point escapes。对于此表情符号,您可以将其写为功能相同的代理对\ud83c\udf93
。
console.log('\u{1F393}');
console.log('\ud83c\udf93');
这是一个简单的脚本,可帮助您将表情符号转换成它们的替代对:
const str = '';
const str2 = '\u{1F393}';
function getEscaped(str) {
var ret = '';
for (var i=0; i<str.length; i++) {
var code = str.charCodeAt(i).toString(16);
ret += '\\u' + code;
}
return ret;
}
const result = getEscaped(str);
console.log(result);
console.log(eval(`"${result}"`));
console.log(getEscaped(str2));