2017-07-26 9 views
0

問題 - localhost:9000を入力すると、郵便配達員から何の応答も得られません。それは私のルートファイル内にあるユーザーjson backを私に与えるべきです。代わりに、次のように吐き出す。Expressを使用してcreate-react-appを設定します。

<body> 
    <noscript>You need to enable JavaScript to run this app.</noscript> 
    <div id="root"></div> 
    <script type="text/javascript" src="/static/js/main.ce2f0561.js"></script> 
</body> 

セットアップ

Expressで接続するために作成反応するアプリを使用します。

マイフォルダ構造が

--server

--src React app lives in this

ある - express.js

- - コントローラ

index.js

- ルート

-- rs_notes.js 

rs_routes.js

'use strict'; 



    module.exports = function(router){ 
    const notesController = require('../controllers/cs_notes'); 

    router.route('/', function(req, res, next) { 
     // Comment out this line: 
     //res.send('respond with a resource'); 

     // And insert something like this instead: 
     res.json([{ 
      id: 1, 
      username: "samsepi0l" 
     }, { 
      id: 2, 
      username: "D0loresH4ze" 
     }]); 
    }); 
    }; 

express.js

const express = require('express'); 
const morgan = require('morgan'); 
const path = require('path'); 

const app = express(); 

const router = express.Router(); 
// Setup logger 
app.use(morgan(':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] :response-time ms')); 

// Serve static assets 
app.use(express.static(path.resolve(__dirname, '..', 'build'))); 
require('./routes/rs_notes')(router); 
// Always return the main index.html, so react-router render the route in the client 
router.get('*', (req, res) => { 
    res.sendFile(path.resolve(__dirname, '..', 'build', 'index.html')); 
}); 

module.exports = app; 

index.js

'use strict'; 

const app = require('./express'); 

const PORT = process.env.PORT || 9000; 

app.listen(PORT,() => { 
    console.log(`App listening on port ${PORT}!`); 
}); 

全プロジェクトのリンク - https://drive.google.com/file/d/0B35OQMkRo3KcSHlkeXdWVjVjc0U/view?usp=sharing

私の質問や疑問

  1. は、私が正しい方法でルータを渡しアムいます。私たちはこれを の方法で渡す前に、4を表現しましたか?同じ構造がここで働くかどうかは分かりません。
  2. localhost:9000(サーバーは構成されたnode serverコマンドで実行されますが、postmanでは実行されません)を押すことでブラウザーでロードできます。
+0

これが提供され、またはテキストとしてこれを見ているHTMLですか?元は私には大丈夫だと思われる。 – idmean

+0

ブラウザで動作しますか? – Colin

+0

ホールドオン....私は誤って提出しました。私は編集して正しく尋ねます。 – kushalvm

答えて

0

ルータの使用方法を適切に学習し、ここでいくつかのコードを移動することで、このスタックを修正できました。しかし、私は単にrouter.get( '/'、...)を実行すると、ベースルートのためにはまだ動作しませんでした。同じエラーメッセージが表示されます。だから私はむしろノードと接続するというアプローチを逆にしました。私は2つの別々の投稿と同じ理由で媒体に自分の努力を公開しました。

https://medium.com/@kushalvmahajan/i-am-about-to-tell-you-a-story-on-how-to-a-node-express-app-connected-to-react-c2fb973accf2

関連する問題