2

これは私のWebPACK構成のコードです:反応ルータdom v4でwebpack devサーバを設定するには?

const compiler = webpack({ 
    entry: ['whatwg-fetch', path.resolve(__dirname, 'js', 'app.js')], 
    module: { 
    loaders: [ 
     { 
     exclude: /node_modules/, 
     test: /\.js$/, 
     loader: 'babel', 
     }, 
    ], 
    }, 
    output: {filename: 'app.js', path: '/'}, 
}); 

const app = new WebpackDevServer(compiler, { 
    contentBase: '/public/', 
    proxy: {'/graphql': `http://localhost:${GRAPHQL_PORT}`}, 
    publicPath: '/js/', 
    stats: {colors: true}, 
}); 

app.use('/', express.static(path.resolve(__dirname, 'public'))); 
ファインワークス

、アプリがローカルホスト上で実行されます:3000/index.htmlを私が実装しようとルータのDOM V4を反応します。それは動作しません。これはコードです:3000/build.min.js そして、ローカルホスト上:3000 /について

const About =() => <div> <h1>About</h1> </div> 

ReactDOM.render(
    <BrowserRouter> 
     <div> 
     <Route exact path='/' component={App}/> 
     <Route path='/about' component={About}/> 
     </div> 
    </BrowserRouter>, 
    mountNode 
); 

これは、ローカルホスト上の結果です。私はエラーが表示されます:GET/aboutはできません。私が期待しているものではないが、なぜこれはレンダリングされないだろうか?

について

+0

Route-Componentsの周りに余分な「

」を置きたいのですが?あなたは ''を別のルートの周りに置くべきですhttps://reacttraining.com/react-router/web/api/Switch – EatYaFood

+0

@Bjoern私はスイッチを試しましたが、動作しません。私はルータが1人の子供しか望んでいないので、そのdivを使用しました。 –

+1

ねえ、答えは見つかりましたか?私も同じ問題があります... –

答えて

9

webpack-configとは関係ありません。 Hereは、react-router-4.0を使用した基本githubリポジトリです。私はこの例をwebpack configのreact-router-4.0に関連する特別な変更なしで作成しました。

追加「devServer」あなたのWebPACKの設定でない場合は既に:あなたのコード内

devServer: { 
    historyApiFallback: true, 
    } 

二つの小さな提案、すなわち「約」

<Route exact path='/about' component={About}/> 

のパスで「正確」を使用してみてくださいconstの括弧をつけ加えてください。つまり、

const About =() => (<div> <h1>About</h1> </div>); 

希望しています。他の情報が必要な場合はお知らせください。

+0

私はhistoryApiFallback設定について知らなかったので、共有してくれてありがとう。 –

関連する問題