需要来自ReactJS中另一个文件的类

Pin*_*ler 1 javascript browserify reactjs

我有一个通用的"main.js",我想从另一个文件中获取一个类.这是我到目前为止所拥有的

结构体

main.js
/js
  /src
    menu.js
Run Code Online (Sandbox Code Playgroud)

main.js

// main.js
var React = require('react');
var ReactDOM = require('react-dom');
require('./js/src/menu.js');

function run() {
    ReactDOM.render(React.createElement(Menu), document.getElementById('menu'));
}

var loadedStates = ['complete', 'loaded', 'interactive'];

if (loadedStates.includes(document.readyState) && document.body) {
  run();
} else {
  window.addEventListener('DOMContentLoaded', run, false);
}
Run Code Online (Sandbox Code Playgroud)

menu.js(为简洁而编辑)

//menu.js
var React = require('react');
var ReactDOM = require('react-dom');

var Menu = React.createClass({
    render: function() {
        //do things
    }
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,在最后,我得到了 Uncaught ReferenceError: Menu is not defined

我正在使用browserify将所有内容编译成项目结构中其他地方的bundle.js

Vis*_*ath 6

您需要在变量中存储所需的menu.js对象,并在menu.js中导出其对象,以便其他模块可以访问它.

在main.js

var Menu = require('./js/src/menu.js');
Run Code Online (Sandbox Code Playgroud)

并在文件末尾的menu.js中.

module.exports = Menu;
Run Code Online (Sandbox Code Playgroud)