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

执行npm run build遇rpt2插件错误:意外字符'�'

解决Rollup构建时rpt2插件报错:Unexpected character '�'

这个错误是因为rpt2(Rollup的TypeScript编译插件)仅能处理JS/TS代码,当项目中引入图片、CSS、字体这类非JS/TS格式文件时,插件无法识别就会抛出这个乱码字符错误。下面是具体解决方法:

1. 定位问题文件

先检查项目代码里有没有导入非JS/TS资源,比如:

import avatar from './assets/avatar.png';
import './styles/global.css';

这类导入就是报错的根源。

2. 添加对应Rollup插件处理非JS资源

根据你引入的文件类型,安装并配置对应的Rollup插件:

  • 处理图片、图标等二进制文件:使用@rollup/plugin-image或rollup-plugin-url
  • 处理CSS文件:使用rollup-plugin-postcss或@rollup/plugin-css-only

配置示例(以处理图片和CSS为例)

先安装依赖:

npm install rollup-plugin-postcss @rollup/plugin-image --save-dev

修改rollup.config.js,把新插件加入plugins数组(注意顺序:资源处理插件要放在TS插件前面):

import typescript from '@rollup/plugin-typescript';
import postcss from 'rollup-plugin-postcss';
import image from '@rollup/plugin-image';

export default {
  input: 'src/index.ts',
  output: [
    {
      file: 'dist/index.cjs.js',
      format: 'cjs'
    },
    {
      file: 'dist/index.esm.js',
      format: 'esm'
    }
  ],
  plugins: [
    image(),
    postcss(),
    typescript()
  ]
};

3. 添加类型声明(TypeScript项目必做)

在项目里新建类型声明文件(比如src/types.d.ts),给非JS/TS资源添加类型定义,避免TS编译报错:

// 图片类型声明
declare module '*.png' {
  const value: string;
  export default value;
}

declare module '*.jpg' {
  const value: string;
  export default value;
}

// CSS类型声明
declare module '*.css' {
  const content: Record<string, string>;
  export default content;
}

4. 清理缓存后重新构建

执行以下命令清理Rollup缓存,再重新构建:

rm -rf node_modules/.cache
npm run build

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:50:54