2017-01-01 94 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> 
    ); 
    } 
}); 
相關問題