如何在 webpack 4 构建中使用适用于旧浏览器的模式"u{<alphanumerical>}"对 unicode 字符进行编码?



我需要使我们的网站可访问Chrome 41和IE11。但是,Minification引入了一些Unicode字符,这些字符在较新的浏览器中根本不会引起任何麻烦,但在前提到的浏览器中引起了"非法令牌"one_answers"预期的十六进制数字"错误。

请参阅缩短捆绑包的缩短代码:

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,
        },
      },
    }),

最新更新