【发布时间】:2022-01-22 18:57:27
【问题描述】:
我用反应库制作了一个应用程序,并将所有文件保存为 .js 并且它工作得很好。任何人都可以帮助我了解当我们保存具有 .jsx 扩展名的文件时,在性能或其他方面会带来什么不同?
如果没有,我们为什么要使用 .jsx ?
PS:虽然,我是新手,但我知道 .jsx 和 .js 扩展名之间的基本区别。
-
保存扩展在性能上没有差异
标签: javascript reactjs performance comparison
我用反应库制作了一个应用程序,并将所有文件保存为 .js 并且它工作得很好。任何人都可以帮助我了解当我们保存具有 .jsx 扩展名的文件时,在性能或其他方面会带来什么不同?
如果没有,我们为什么要使用 .jsx ?
PS:虽然,我是新手,但我知道 .jsx 和 .js 扩展名之间的基本区别。
标签: javascript reactjs performance comparison
运行时没有性能差异,浏览器不关心您在 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。大多数构建工具都遵循约定,因此如果不这样做,则必须进行额外的配置。
【讨论】: