2017-08-17 10 views
0

私は反応ルータv4を使用していましたが、リロード時に気付いた(localhost:8080/route1の場合はCannot Get route1になります)、これを調べると、すべてのルート(とbundle.jsリクエストの静的ファイルに加えて.html)と反応ルータルートは、今度は必要に応じて動作します。React-Routerとwebpack-dev-serverリロード

しかし、私は自分のサーバーを使用していますので、webpack -dev-server、例えば、リロード時のリロード、高速再コンパイル用のバンドルのキャッシングなど。

私はどうしたらよいですか?webpack-dev-serverに対処する方法はありますか?反応ルータのルートの問題?または私は私の自分のサーバーとwebpack-dev-serverから得たメリットをエミュレートするための良い方法はありますか?または私が考えていない他のもの。

答えて

0

私はwebpack.config.jsの出力publicPathを設定することで修正した同様の問題がありました。

project-folder 
-webpack.config.js 
-node_modules 
-src 
--index.html 
--js 
---app 
----index.bundle.js 
----index.js 

webpack.config.js

var path = require('path'); 

module.exports = { 
    entry: { 
    index: './src/js/app/index.js' 
    }, 
    output: { 
    path: path.resolve(__dirname, 'src/js/app'), 
    filename: '[name].bundle.js', 
    publicPath: '/src/js/app/', 
    }, 
    resolve: { 
    extensions: ['.ts', '.tsx', '.js'] 
    }, 
    module: { 
    rules: [ 
     { 
     test: /\.js$/, 
     use: 'babel-loader', 
     exclude: /(node_modules|bower_components)/ 
     }, 
     { 
     test: /\.vue$/, 
     loader: 'vue-loader', 
     options: { 
      loaders: { 
      js: 'babel-loader', 
      scss: 'vue-style-loader!css-loader!sass-loader' 
      } 
     } 
     }, 
     { 
     test: /\.(png|jpg|gif|svg)$/, 
     loader: 'file-loader', 
     options: { 
      name: '[name].[ext]', 
      publicPath: 'js/app/', 
     } 
     } 
    ] 
    }, 
    devServer: { 
    noInfo: true 
    }, 
}; 
+0

それが働いた理由を説明することができる:これはフォルダ構造ですか? –

+0

これは私の今の設定です。何とかパブリックパスを指定しなくても動作します https://gist.github.com/alexbollbach/7a7abed3b345dd2e819f459a6a495f89 –

+0

私の場合、ルートはrootで、私が望むようにsrcではなくproject-folderでした。ルーターは失敗し、私はパブリックパスを変更する必要がありました。とにかく、パブリックパスなしで問題を解決しましたか?採用されたソリューションは何ですか? – itacode

関連する問題