storybook [Bug]:当生成不完整的生成结果时,静默失败

rjee0c15  于 2022-10-29  发布在  其他
关注(0)|答案(1)|浏览(330)

描述Bug

在我的例子中,*.md被视为mdx时存在一个问题,因此任何带有{ }而没有反勾的内容都将在Could not parse expression with acorn: Unexpected token中失败
然而,整个构建并没有失败,而是成功完成。但结果是storybook-static输出目录中缺少文件。(缺少iframe.html
您可以在构建的日志中看到这些错误,但很容易忽略,尤其是构建根本不报告错误。

重现

Create mdx file that has incorrect text format inside.

系统

  • 没有回应 *

其他上下文

  • 没有回应 *
ifsvaxew

ifsvaxew1#

我知道你和我昨天讨论过这个,但是我实际上无法在v7.0.0-alpha.45中重现这个。
{hello}添加到mdx文件将导致文档根本不呈现,但构建将正常工作并生成iframe.html
添加{[key: string]: string}(我知道您已经尝试过了)会使dev和build都显式失败,并出现如下语法错误

ERR! [12:6: Could not parse expression with acorn: Unexpected token] {
ERR!   reason: 'Could not parse expression with acorn: Unexpected token',
ERR!   line: 12,
ERR!   column: 6,
ERR!   source: 'micromark-extension-mdx-expression',
ERR!   ruleId: 'acorn',
ERR!   position: {
ERR!     start: { line: 12, column: 6, offset: 437 },
ERR!     end: { line: null, column: null }
ERR!   }
ERR! }

这两行不起作用的原因是,MDX2将{...}解析为JavaScript,因此{hello}将导致“hello is undefined”,而{[key: string]: string}将导致意外的标记。

相关问题