2016-11-25 6 views
1

これらはindex.htmlファイルの内容ですは反応し

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <script src="https://cdnjs.cloudflare/ajax/libs/babel-core/5.8.23/browser.min.js"></script> 
    <script src="https://cdnjs.cloudflare/ajax/libs/react/0.14.7/react.js"></script> 
    <script src="https://cdnjs.cloudflare/ajax/libs/react/0.14.7/react-dom.js"></script> 
    </head> 
    <body> 
    <div id = "app"> 
    <script type="text/babel" src="app.jsx"> 


    </script> 
    </div> 
    </body> 
</html> 

そして、私のapp.jsxファイルの内容を表現server.jsファイルの

ReactDOM.render(
    <h1>Hello React!</h1>, 
    document.getElementById('app') 
    ); 

内容は

です
var express = require('express'); 
var app = express(); 
app.use(express.static('public')); 

app.listen(3000,function(){ 
    console.log('Express server is up on port 3000'); 
}); 

そして、package.jsonの内容は

です

私は、コマンドノードserver.js、ページのローカルホストを使用してファイルを実行すると、ディレクトリ構造が directory structure

です:// 3000が空白であることが判明しました。私は期待していたこんにちは!が画面に表示されます。 私は反応を出して表現しています。なぜこれがそうであるのか理解できませんでした。

答えて

0

express serverからindex.htmlファイルを配信する必要があります。あなたの現在のファイルにindex.htmlのファイルの相対への正しいパスをsettignしてserver.jsコードに以下を追加すると、

app.get("/", function(req, res){ 
    res.send('/path/to/index.html'); 
}); 
+0

残念ながら、それは動作しませんでした –

+0

あなたのディレクトリ構造は何ですか投稿することができます –

+0

ディレクトリ構造は質問の末尾にあります –

0

あなたの結果を見ることができるはずただ、代わりにこれを試してみてください。

res.sendFile('public/index.html' , { root : __dirname}); 

これは私のために働いた。ルート:__ dirnameは上記の例でserver.jsのアドレスを取得し、index.html(この場合)に戻ります。返されるパスは、パブリックフォルダが

0

のディレクトリに移動することです。でる。 typoがありました。ここで私はBabel、reactとReact-Domを輸入しました。

修正されたコード

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.7/react.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.7/react-dom.js"></script>** 

は、すべての3つのライブラリのため '.COM' を逃しました。ページを調べることで発見されました(ライブラリは読み込まれませんでした)。

関連する問題