2016-09-06 14 views
1

的WebPack-DEV-服务器可以设置为您发回index.html,然后找到你的脚本一个单一的路线一样http://localhost:4301/sdr但配置当你把一个更深的路线(或单一路线a /在最后)http://localhost:4301/sdr/dog它变得困惑。的WebPack historyApiFallback为深航

devServer: { 
    contentBase: './dist', 
    historyApiFallback: true 
    }, 

http://localhost:4301/sdr/dog服务器响应

x GET http://localhost:4301/sdr/bundle.js 

添加/ SDR的路径在寻求bundle.js

我怎样才能解决这个问题。 ...然后我会尝试在NGINX然后用反应路由器然后用NAVIGO然后用反应路由器,终极版....

+0

,你能否告诉我们在'指数代码.html'? – spacek33z

回答

1

我也有这个问题。我发现解决方案是将publicPath: '/'添加到我的输出下的webpack配置。

const base = { 
    entry: [ 
    PATHS.app, 
    ], 
    output: { 
    path: PATHS.build, 
    publicPath: '/', 
    filename: 'index_bundle.js', 
    }, 
    module: { 
    loaders: [ 
     {test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'}, 
     {test: /\.css$/, loader: 'style!css?sourceMap&modules&localIdentName=[name]__[local]___[hash:base64:5]'}, 
     {test: /\.json$/, loader: 'json'}, 
    ], 
    }, 
    resolve: { 
    root: path.resolve('./app'), 
    }, 
} 

const developmentConfig = { 
    devtool: 'cheap-module-inline-source-map', 
    devServer: { 
    contentBase: PATHS.build, 
    hot: true, 
    inline: true, 
    progress: true, 
    proxy: { 
     '/api': 'http://127.0.0.1:5000', 
    }, 
    historyApiFallback: true, 
    }, 
    plugins: [HTMLWebpackPluginConfig, new webpack.HotModuleReplacementPlugin()], 
} 

export default Object.assign({}, base, developmentConfig) 

下面是这个属性的更详细的文档:http://webpack.github.io/docs/configuration.html#output-publicpath

这里是有这个问题的更详细的讨论论坛: https://github.com/webpack/webpack/issues/443