3

我正在尝试将 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')
  );

任何想法?

4

2 回答 2

1

你有两个选择:

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

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

于 2015-07-02T19:31:52.093 回答
1

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

于 2015-07-05T20:59:23.713 回答