我们的代码库将逐步转向React框架,使用令人难以置信的JSX Transformer。
JSX Transformer是普通Javascript文件的幂等,并将JSX方言转换为Javascript。因此,我想避免写'jsx!'在每个依赖项的前面 - 我希望JSX成为RequireJS的默认加载器。
这是否可以在RequireJS中使用?
答案 0 :(得分:1)
您可以使用grunt + browserify + reactify轻松编译所有React文件。这是基本的grunt配置:
module.exports = function(grunt) { 'use strict';
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
// Task configuration goes here.
paths: {},
browserify: {
options: {
transform: ['reactify'],
},
dev: {
src: '<%= paths.src_js %>/app/app.jsx',
dest: '<%= paths.build_js %>/app.js',
options: { debug: true }
},
prod: {
src: '<%= browserify.dev.src %>',
dest: '<%= paths.build_js %>/app.min.js',
options: { debug: false },
}
},
watch: {
options: { livereload: true },
browserify: {
files: ['<%= paths.src_js %>/app/**/*'],
tasks: ['browserify:dev'],
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-browserify');
grunt.registerTask('dev', ['browserify:dev']);
grunt.registerTask('prod', ['browserify:prod']);
};
您可以grunt dev
或grunt prod
运行它。