【问题标题】:Are there any differences in .Jsx and .js saving extensions?.Jsx 和 .js 保存扩展有什么区别吗?
【发布时间】:2022-01-22 18:57:27
【问题描述】:

我用反应库制作了一个应用程序,并将所有文件保存为 .js 并且它工作得很好。任何人都可以帮助我了解当我们保存具有 .jsx 扩展名的文件时,在性能或其他方面会带来什么不同?

如果没有,我们为什么要使用 .jsx ?

PS:虽然,我是新手,但我知道 .jsx 和 .js 扩展名之间的基本区别。

标签: javascript reactjs performance comparison


【解决方案1】:

运行时没有性能差异,浏览器不关心您在 JavaScript 文件上使用的扩展名(如果有的话)。

.jsx 只是一个约定,它表示该文件不仅包含 JavaScript,还包含 JSX,它是 JavaScript 的扩展,允许您编写转换为函数调用的类似 XML(有点类似 HTML)的语法(通过某种构建工具)在代码用于 JavaScript 环境之前。例如,如果你写:

const d = <div className="example">Hi there</div>;

您的构建工具会将其(可能通过 Babel)转换为:

const d = React.createElement("div", {className: "example"}, "Hi there");

.js 文件,同样按照惯例,只包含 JavaScript,不包含 JSX。

我在上面说过“按惯例”,但请注意,如果您将 JSX 语法放在 .js 文件中,您必须采取措施告诉您的构建工具它需要转换该 JSX。大多数构建工具都遵循约定,因此如果不这样做,则必须进行额外的配置。

【讨论】:

    猜你喜欢
    • 2023-02-25
    • 2012-08-11
    • 2020-07-14
    • 1970-01-01
    • 2023-03-07
    • 2018-03-06
    • 1970-01-01
    • 2020-06-17
    • 2020-11-21
    相关资源
    最近更新 更多