You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Babel.js将字符串转义为Unicode编码

解决方案

你遇到的是Babel默认开启非ASCII字符转义导致的问题,可通过以下方法配置修复:

方法1:配置Babel生成器选项(推荐)

直接修改Babel配置文件(.babelrc、babel.config.json均可),添加generatorOpts配置关闭Unicode转义:

{
  "generatorOpts": {
    "jsonCompatibleStrings": false
  }
}

该方法不会影响其他Babel转译功能,仅关闭字符串的Unicode强制转义。

方法2:禁用字符串字面量转译插件

如果你使用了@babel/preset-env,可以排除转义字符串的插件:

{
  "presets": [
    ["@babel/preset-env", {
      "exclude": ["@babel/plugin-transform-literals"]
    }]
  ]
}

注意该方法会同时关闭模板字符串转普通字符串、数字字面量优化等其他字面量相关转译功能,仅建议你不需要这类转译时使用。

方法3:webpack+babel-loader场景配置

如果是在webpack构建场景中,直接在babel-loader的配置项中添加对应参数即可:

module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            generatorOpts: {
              "jsonCompatibleStrings": false
            }
          }
        }
      }
    ]
  }
}

额外排查项

如果配置后仍出现\uFFFD乱码转义,先确认你的源js文件是以UTF-8无BOM格式保存的,编码错误会导致Babel读取字符识别异常。

内容的提问来源于stack exchange,提问作者Matyas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:24:05