React + Material UI,require未定义

时间:2015-06-28 15:00:32

标签: reactjs material

我尝试将React与Material UI一起使用,但我仍然遇到同样的错误:未定义require。我在浏览器上遇到TapEventPlugin,TouchEventPlugin,injectTapEventPlugin和ResponderEventPlugin的错误。

这是我的index.html中的代码:`

    <div id="wrapper">
    </div>

    <script src="js/react.min.js"></script>
    <script src="js/JSXTransformer.js"></script>
    <script src="js/TapEventPlugin.js"></script>
    <script src="js/TouchEventUtils.js"></script>
    <script src="js/injectTapEventPlugin.js"></script>
    <script src="js/ResponderEventPlugin.js"></script>
    <script type="text/jsx" src="js/index.js"></script>
</body>`

这是我的js文件:

&#13;
&#13;
var React = require('react/addons');
var injectTapEventPlugin = require('react-tap-event-plugin');
injectTapEventPlugin();
var mui = require('material-ui');
var ThemeManager = new mui.Styles.ThemeManager();
var AppBar = mui.AppBar;

var ApplicationBar = React.createClass({
            render: function(){
                return <AppBar title='Title' iconClassNameRight="muidocs-icon-navigation-expand-more"/>;
            }
        });

React.render(
    <ApplicationBar />,
    document.getElementById('wrapper')
  );
&#13;
&#13;
&#13;

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

你有两个选择:

  1. 删除require,因为它是服务器端功能而不是客户端,并执行您的功能。

  2. 下载并使用requirejs,然后在脚本之前将其加载到客户端并使用它。

答案 1 :(得分:1)

我用命令'jsx [所有文件的目录.js] [将要创建的文件夹的名称]解决了编译js的问题。 像这样:'jsx ./ newFolder' 然后我运行此命令:browserify file.js&gt; newFile.js 您需要先安装Browserify。