1

反応ルーターを起動して実行しようとしていますが、どういうわけか反応ルーター内で反応が定義されておらず、そのためエラーで失敗します

Uncaught TypeError: Cannot read property 'createClass' of undefined

後でこのエラーも発生します:

Uncaught Error: Load timeout for modules: jsx!testapp_unnormalized2,jsx!testapp

ここで私が間違っていることについて何か考えはありますか?すべてのファイルを連結せずにルーターを機能させたいだけです。

アプリの外観は次のとおりです。

index.html

<!-- ... -->

    <script data-main="../resources/js/init" src="../resources/bower_components/requirejs/require.js"></script>

</body>

<!-- ... -->

init.js

require.config({

  paths: {
    react: "/resources/bower_components/react/react-with-addons",
    JSXTransformer: "/resources/bower_components/jsx-requirejs-plugin/js/JSXTransformer",
    jsx: "/resources/bower_components/jsx-requirejs-plugin/js/jsx",
    jquery : "/resources/bower_components/jquery/dist/jquery",
    'react-router' : "/resources/bower_components/react-router/dist/react-router",
    'react-router-shim': 'react-router-shim'
  },

  shim : {

    'react-router': {
      deps:    ['react'],
      exports: 'Router'
    }
  },
});

require(['jsx!testapp'], function(App){
  var app = new App();
  app.init();
});

反応ルーター-shim.js

define(['react'], function(React) {
  "use strict";

  window.React = React;
});

testapp.js

define(function(require){
  var React = require('react');
  var Router = require('react-router');

  var Route = Router.Route;
  var NotFoundRoute = Router.NotFoundRoute;
  var DefaultRoute = Router.DefaultRoute;
  var Link = Router.Link;
  var RouteHandler = Router.RouteHandler;

  var routes = (
    <Route handler={Home} path="/">
      <DefaultRoute handler={Home} />
    </Route>
  );

  var Home = React.createClass({
    render: function() {
      return(
        <p>This is the mathias page</p>
      );
    }
  });

  var App;

  App.init = function () {
    Router.run(routes, Router.HistoryLocation, function (Handler) {
      React.render(<Handler/>, document.getElementById('content'));
    });
  };

  return App;

});
4

1 に答える 1