React + Material UI, require 未定义

React + Material UI, require is not defined

我正在尝试将 React 与 Material UI 一起使用,但我仍然遇到相同的错误:未定义要求。我在 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 文件:

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')
  );

有什么想法吗?

您有 2 个选择:

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

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

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