如何在 webpack 4 构建中为旧版浏览器使用模式“\u{<alphanumerical>}”编码 unicode 字符?
How to encode unicode characters with the pattern "\u{<alphanumerical>}" for older browsers in a webpack 4 build?
我需要让 Chrome 41 和 IE11 可以访问我们的网站。然而,缩小引入了一些 unicode 字符,这些字符在较新的浏览器中根本不会造成任何问题,但在前面提到的浏览器中会导致 "Illegal token" 和 "Expected hexadecimal digit" 错误。
从缩小的包中查看这个缩短的代码:
return e.export = { Afr:"\u{1d504}" }
这对应于 Unicode Character 'MATHEMATICAL FRAKTUR CAPITAL A' (U+1D504)
也称为 。然而,它在 Chrome 41(GoogleBot 中使用的那个)和 IE11(使用 Windows 8.x 且从未下载过 Chrome 或 Firefox 的用户)中被认为是非法令牌。
是否有任何 webpack 插件或转换工具以不同方式对这些值进行编码?
我们目前使用 UglifyJS
插件进行缩小。
实际上,我没有解决这个问题,但我意识到版本 "uglifyjs-webpack-plugin": "1.3.0",
被设置为对这些字符进行编码(很可能来自 react-html-parser
)。
查看我为使其适用于浏览器而删除的配置。
new UglifyJsPlugin({
uglifyOptions: {
output: {
// This was turned in the app because "emoji and regex" values
// were not minified properly, citing this issue:
// https://github.com/facebook/create-react-app/issues/2488
// However, the issue was solved a long time ago and this just broke
// the site for IE11 and Chrome 41/GoogleBot
ascii_only: true,
},
},
}),
我需要让 Chrome 41 和 IE11 可以访问我们的网站。然而,缩小引入了一些 unicode 字符,这些字符在较新的浏览器中根本不会造成任何问题,但在前面提到的浏览器中会导致 "Illegal token" 和 "Expected hexadecimal digit" 错误。
从缩小的包中查看这个缩短的代码:
return e.export = { Afr:"\u{1d504}" }
这对应于 Unicode Character 'MATHEMATICAL FRAKTUR CAPITAL A' (U+1D504)
也称为 。然而,它在 Chrome 41(GoogleBot 中使用的那个)和 IE11(使用 Windows 8.x 且从未下载过 Chrome 或 Firefox 的用户)中被认为是非法令牌。
是否有任何 webpack 插件或转换工具以不同方式对这些值进行编码?
我们目前使用 UglifyJS
插件进行缩小。
实际上,我没有解决这个问题,但我意识到版本 "uglifyjs-webpack-plugin": "1.3.0",
被设置为对这些字符进行编码(很可能来自 react-html-parser
)。
查看我为使其适用于浏览器而删除的配置。
new UglifyJsPlugin({
uglifyOptions: {
output: {
// This was turned in the app because "emoji and regex" values
// were not minified properly, citing this issue:
// https://github.com/facebook/create-react-app/issues/2488
// However, the issue was solved a long time ago and this just broke
// the site for IE11 and Chrome 41/GoogleBot
ascii_only: true,
},
},
}),