在 Rails 应用程序的 Ruby 中响应 .js.jsx 扩展

React .js.jsx extension in Ruby on Rails application

目前在一个在前端使用 React 并在后端使用 Rails Ruby 的项目中,我可以看到所有与 React 相关的文件 .js.jsx逻辑。这让我有点困惑,因为我习惯于让 React 只看到 .js.jsx 文件扩展名。

为什么 Ruby 在 Rails 上会使用 .js.jsx?我根本不喜欢 Ruby 世界,因此这是我唯一的猜测,为什么它应该是那样的。或者这只是开发人员的错误?

使用 react-rails gem 的人可以使用 .js.jsx 扩展,因为这个 gem(库)能够编译它以清理 js没有外部构建步骤的代码。 根据文档:

当您使用 myfile.js.jsx 命名文件时,react-rails 将自动尝试转换该文件。目前,我们仍然要求您在文件开头包含文档块。例如,此文件将根据请求进行转换。

/** @jsx React.DOM */
React.renderComponent(<MyComponent/>, document.getElementById('example'))