RequireJS - 使插件成为默认加载器

时间:2014-12-03 16:07:30

标签: requirejs reactjs

我们的代码库将逐步转向React框架,使用令人难以置信的JSX Transformer。

JSX Transformer是普通Javascript文件的幂等,并将JSX方言转换为Javascript。因此,我想避免写'jsx!'在每个依赖项的前面 - 我希望JSX成为RequireJS的默认加载器。

这是否可以在RequireJS中使用?

1 个答案:

答案 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 devgrunt prod运行它。