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

Parcel 2 RC中ES module类型脚本如何指定utf-8编码以支持特殊字符?

ES模块脚本UTF-8编码配置方案

ES模块规范默认要求所有模块文件以UTF-8编码解析,type="module"的script标签本身不支持通过charset属性指定编码,出现特殊字符乱码可以按以下三个维度排查调整即可:

  • 确保模块源文件本身以UTF-8编码保存:打开对应的app.js文件,在编辑器的编码设置里确认存储格式为UTF-8,不要使用GBK、GB2312等非UTF-8编码存储文件。
  • 配置HTTP服务的响应头:如果你的项目是通过HTTP服务访问(包括Parcel 2内置的开发服务),需要保证服务端返回JS文件时的响应头携带正确的编码声明:
    Content-Type: application/javascript; charset=utf-8
    
    针对Parcel 2的场景,可以在项目根目录新建.proxyrc.js配置文件,添加以下内容实现响应头注入:
    module.exports = function (app) {
      app.use((req, res, next) => {
        if (req.path.endsWith('.js')) {
          res.setHeader('Content-Type', 'application/javascript; charset=utf-8')
        }
        next()
      })
    }
    
  • 确认HTML文件的基础编码配置:如果是本地直接打开HTML文件访问,只要保证HTML文件本身是UTF-8编码,且头部已经添加了<meta charset="UTF-8">声明,对应的ES模块也会默认以UTF-8解析。

你当前使用的<script type="module" src="app.js"></script>写法本身符合规范,不需要额外添加其他属性,调整以上配置即可正常使用特殊字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:06:00