2016-03-16 38 views
0

我建立使用ReactBootstrap的應用程序。我無法弄清楚如何將我的代碼放入單獨的文件中,所以我開始使用require.js。我開始了一個單獨的項目,作爲一個操場來試驗需要我更大項目中所需的各種模塊。怎樣才能作出反應,引導加載不破壞反應-DOM?

我已經能夠得到反應(反應和-DOM)對自己的工作。然而,當我執行需要()的反應,引導,我得到以下錯誤:

GET http://localhost:5000/static/react-dom.js    require.js:1952 
Uncaught Error: Script error for "react-dom"    require.js:165 

請注意,上面的地址是不是反應-DOM的正確位置。我不知道爲什麼它在那個地方尋找它。這可以在我的config.js文件,準確地描述了我有關JavaScript的必要前置模塊的位置可以看出:

requirejs.config({ 
    baseUrl: "/static", 
    paths: { 
    jquery: "vendors/jquery/dist/jquery", 
    jsx: "vendors/jsx-requirejs-plugins/js/jsx", 
    JSXTransformer: "vendors/jsx-requirejs-plugins/js/JSXTransformer", 
    react: "vendors/react/react-with-addons", 
    react_dom: "vendors/react/react-dom", 
    bootstrap: "vendors/bootstrap/dist/js/bootstrap", 
    react_bootstrap: "vendors/react-bootstrap/react-bootstrap", 
    text: "vendors/requirejs-text/text", 
    }, 
    jsx: { 
    fileExtension: ".js" 
    }, 
}); 

在這一點上,我甚至沒有渲染任何感興趣的(在盤算的名字這一點)。當我上面的代碼更改爲

requirejs(
    ["jquery", "react", "react_dom", "react_bootstrap"], 
    function($, React, ReactDOM) { 
}); 

沒有錯誤:

requirejs(
    ["jquery", "react", "react_dom"], 
    function($, React, ReactDOM) { 
}); 

添加引導到列表中並沒有幫助這可以通過看我的,而空app.js文件中可以看出。還值得一提的是,jQuery是被正確地從http://localhost:5000/static/vendors/jquery/dist/jquery.js

對於上下文加載,我的index.html文件看起來如下。

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
</head> 
<body> 
    <script src="/static/vendors/requirejs/require.js"></script> 
    <script src="/static/config.js"></script> 
    <script src="/static/app.js"></script> 
</body> 
</html> 

總結:我得到一個錯誤與特定的圖書館 - 特別是,它正在尋找在錯誤的地方 - 但這個錯誤只顯示了當另外需要作出反應的自舉。

我錯過了什麼?謝謝!

回答

0

的問題是,我把命名的自由,config.js內,反應-DOM爲「react_dom」,主要是要解決的事實,短線不無引號包圍他們的工作。 react-bootstrap然後特意要求反應,這就是爲什麼錯誤的URL被擊中的原因。

用正確的命名方案展望未來,一切正常smashingly!