Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(webpack5-runner): 修复webpack5 React使用小程序自定义组件时传递kebab-case属性失败的问题 #14897

Merged
merged 5 commits into from
Dec 18, 2023

Conversation

Chen-jj
Copy link
Contributor

@Chen-jj Chen-jj commented Nov 27, 2023

这个 PR 做了什么? (简要描述所做更改)

修复webpack5 React使用小程序自定义组件时传递kebab-case属性失败的问题。

<foo loading-text={content6} />

以上代码在 Webpack 最新版中 AST 节点类型:

Node {
    type: 'Property',
    start: 8462,
    end: 8486,
    loc: SourceLocation { start: [Position], end: [Position] },
    range: [ 8462, 8486 ],
    method: false,
    shorthand: false,
    computed: false,
    key: Node {
      type: 'Literal',
      start: 8462,
      end: 8476,
      loc: [SourceLocation],
      range: [Array],
      value: 'loading-text',
      raw: '"loading-text"'
    },
    value: Node {
      type: 'Identifier',
      start: 8478,
      end: 8486,
      loc: [SourceLocation],
      range: [Array],
      name: 'content6'
    },
    kind: 'init'
  }
}

可见 Prop key 的 type 是 Literal。以前这块没有问题,推测是 Webpack5 更新了 AST 类型,kebab-case 的属性名从 Identifier 变为了 Literal

这个 PR 是什么类型? (至少选择一个)

  • 错误修复(Bugfix) issue: fix #
  • 新功能(Feature)
  • 代码重构(Refactor)
  • TypeScript 类型定义修改(Typings)
  • 文档修改(Docs)
  • 代码风格更新(Code style update)
  • 其他,请描述(Other, please describe):

这个 PR 涉及以下平台:

  • 所有小程序
  • 微信小程序
  • 支付宝小程序
  • 百度小程序
  • 字节跳动小程序
  • QQ 轻应用
  • 京东小程序
  • 快应用平台(QuickApp)
  • Web 平台(H5)
  • 移动端(React-Native)
  • 鸿蒙(harmony)

@Chen-jj Chen-jj requested a review from xuanzebin November 27, 2023 12:12
@Chen-jj Chen-jj merged commit d0b854e into main Dec 18, 2023
10 checks passed
@Chen-jj Chen-jj deleted the fix/third-party-attr branch December 18, 2023 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants