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

如何为SWC插件编写JSX验证测试?

解决SWC插件JSX测试中"Expression expected"错误的方案

问题根源

test!宏默认使用的解析器配置未启用JSX语法支持,导致解析<main></main>这类JSX代码时,无法识别其为合法表达式,从而抛出错误。

解决方案

显式配置解析器的JSX支持,替换默认的Default::default()配置:

use swc_core::ecma::parser::ParserConfig;

test!(
    ParserConfig {
        jsx: true,
        ..Default::default()
    },
    |_| as_folder(TransformVisitor),
    boo,
    r#"<main></main>"#,
    r#"<main></main>"#
);

额外检查

如果插件本身需要处理JSX,需确保Cargo.toml中swc_core依赖开启了JSX相关特性:

[dependencies]
swc_core = { version = "0.75", features = ["ecma_parser_jsx"] }

原理说明

SWC默认解析器仅支持标准ECMAScript语法,JSX属于扩展语法,必须通过ParserConfig中的jsx: true选项显式启用,解析器才能正确识别JSX元素为合法表达式节点,通过测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 08:07:04