2017-01-01 316 views
0

我在reactjs中设置了一个项目。重要的是要注意的是,我没有使用node或npm来设置项目。这意味着,我在下载完所有脚本库文件后直接使用它们,并将它们添加到我的项目中。但是,我得到“出口未定义”的错误。“React without Node/npm” - Geting error - “Uncaught ReferenceError:exports is not defined”

enter image description here

还有一两件事要注意的是,我不能在我的项目使用进口关键字。

的index.html

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Learn Reactjs</title> 
     <script src="react.min.js"></script> 
     <script src="react-dom.min.js"></script> 
     <script src="browser.min.js"></script> 
    </head> 
    <body> 
     <div id="root"></div> 
     <script type="text/babel" src="DropDown.js"></script> 
     <script type="text/babel" src="index.js"></script> 
    </body> 
</html> 

index.js

'use strict'; 

var DropDown = require('DropDown'); 

var HelloMessage = React.createClass({ 
    render: function() { 
    return (
     <div> 
      <h1>Hello {this.props.message}!</h1> 
      <DropDown /> 
     </div> 
    ); 
    } 
}); 

ReactDOM.render(<HelloMessage message="World" />, document.getElementById('root')); 

DropDown.js

'use strict'; 

    var DropDown = React.createClass({ 
     render: function() { 
     return (
      <div> 
      <h1>i am DropDown</h1> 
      </div> 
     ); 
     } 
    }); 

    export default DropDown; 
+0

为什么你可以使用'export'而不是'import'? – Li357

+0

请使用'create-react-app' npm包构建反应应用程序 – uzaif

+0

我发现'import'在我的项目结构中不起作用,因为我没有使用node/npm。我知道只有使用node/npm来设置我的项目时,导入才会起作用。所以,我使用导出和要求。如果您有任何解决方案,请告诉我,如果它适用于导入,它肯定会在我的项目结构中工作,但应该注意,我没有使用node/npm –

回答

0

我发现我的p的解决方案roblem。

步骤1:保持index.html与上面相同。

步骤2:取代index.js文件按照下面的代码:

'use strict'; 


var DropDown = window.DropDown; 

var HelloMessage = React.createClass({ 
    render: function() { 
    return (
     <div> 
      <h1>Hello {this.props.message}!</h1> 
      <DropDown /> 
     </div> 
    ); 
    } 
}); 

ReactDOM.render(<HelloMessage message="World" />, document.getElementById('root')); 

步骤3:取代DropDown.js文件与以下代码:

'use strict'; 


window.DropDown = React.createClass({ 
    render: function() { 
    return (
     <div> 
     <h1>i am DropDown</h1> 
     </div> 
    ); 
    } 
}); 
相关问题