react.js – 要使用什么扩展名 – “.jsx”或者“.js”?

我只是想弄清楚什么是我的应用程序更好:

  1. 使用.jsx扩展,但是我将需要require('MyComponent.jsx');

  2. 使用.js扩展名,这是很好的require('MyComponent); 但是我需要破解Sublime来正确地擦亮它们并突出显示语法。

你有什么经验?

更新的用户更新

由于JSXTransformer已被弃用,JSX编译器工具已被删除。 React团队build议使用另一个工具,例如Babel REPL 。


如果您希望保持JSX源代码的完整性以实现更好的可维护性,我会将它们保存为.jsx文件。 使用JSX编译器 ,无论是手动或通过构build脚本,将您的JSX语法转换为普通的JavaScript文件。

注意:可以在您的生产环境中提供JSX文件,但是React会给您关于降低性能的console通知。


就个人而言,我会用gulp-jsx或gulp-reactify来转换文件。

gulp-jsx示例

 var gulp = require('gulp'); var jsx = require('gulp-jsx'); gulp.task('build', function() { return gulp.src('path/to/*.jsx') .pipe(jsx()) .pipe(gulp.dest('dist')); });