Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript webpack dev服务器未使用react router param route从配置位置为捆绑包提供服务_Javascript_Reactjs_Webpack_React Router_Webpack Dev Server - Fatal编程技术网

Javascript webpack dev服务器未使用react router param route从配置位置为捆绑包提供服务

Javascript webpack dev服务器未使用react router param route从配置位置为捆绑包提供服务,javascript,reactjs,webpack,react-router,webpack-dev-server,Javascript,Reactjs,Webpack,React Router,Webpack Dev Server,使用react路由器,我的路由匹配和我的应用程序包SearchUXBundle.js正确地从一级路由加载-但二级路由/tracker/:id错误地尝试从localhost/tracker/dist/SearchUXBundle.js而不是localhost/dist/SearchUXBundle.js加载我的应用程序包。我假设这是网页“输出”中与我缺少的相对路径相关的某种配置褶皱 webpack.config,js var path = require('path'); var webpack

使用react路由器,我的路由匹配和我的应用程序包SearchUXBundle.js正确地从一级路由加载-但二级路由/tracker/:id错误地尝试从localhost/tracker/dist/SearchUXBundle.js而不是localhost/dist/SearchUXBundle.js加载我的应用程序包。我假设这是网页“输出”中与我缺少的相对路径相关的某种配置褶皱

webpack.config,js

var path = require('path');
var webpack = require('webpack');

module.exports = {
  devtool: 'source-map',
  devServer: {
        inline:false,
        port: 8001,
        historyApiFallback: true 
  },
  entry: {
    app: ['./src/root.js']
  },

  output: {
          path: "/dist",
          publicPath: '/',
          filename: '/dist/SearchUXBundle.js'
    },
  module: {
    loaders: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel',
        query: {
          retainLines: true,
          cacheDirectory: true
        }
      },
      {
        test: /.css$/,
        loaders: ['style', 'css']     
      },
      { test: /\.(png|jpg|jpeg|gif|woff)$/, loader: 'url-loader?limit=8192' },
    ]
  },
  resolve: {
      alias: {
          __CONFIG__: path.join(__dirname, 'config', process.env.REACT_ENV)
      }
  }
};
app.js

...
const store = createStore(rootReducer, enhancer);
const history = syncHistoryWithStore(browserHistory, store, {
  selectLocationState: createSelectLocationState()
});

render(
  <Provider store={store} >
     <Router history={history}> 
        <Route path="/" component={SearchUXContainer} />
        <Route path="tracker/:id" component={EmailTrackerContainer}/>
        <Route path="thisWorks" component={SearchUXContainer}/>
     </Router>
  </Provider>,
  document.getElementById('app')
);
。。。
const store=createStore(rootReducer、enhancer);
const history=syncHistoryWithStore(浏览器历史记录、存储、{
selectLocationState:createSelectLocationState()
});
渲染(
,
document.getElementById('app')
);

您需要确保
index.html
文件中链接的捆绑包是绝对的。如果是相对的,则位置将根据URL而变化,任何嵌套路由都将指向不存在的位置

<!-- bad -->
<script src="dist/SearchUXBundle.js"></script>

<!-- good -->
<script src="/dist/SearchUXBundle.js"></script>

您需要确保
index.html
文件中链接的捆绑包是绝对的。如果是相对的,则位置将根据URL而变化,任何嵌套路由都将指向不存在的位置

<!-- bad -->
<script src="dist/SearchUXBundle.js"></script>

<!-- good -->
<script src="/dist/SearchUXBundle.js"></script>


你能把你的
index.html
包括进去吗。我的第一个猜测是
index.html
中的
SearchUXBundle.js
是相对的,而它应该是绝对的。宾果!因此,我不正确地链接了“dist/SearchBundle.js”-我发现的另一个问题是,我没有正确地将我的路由嵌套在下面。如果你想把这个问题变成一个答案,我会接受的。你能把你的
index.html
包括进去吗。我的第一个猜测是
index.html
中的
SearchUXBundle.js
是相对的,而它应该是绝对的。宾果!因此,我不正确地链接了“dist/SearchBundle.js”-我发现的另一个问题是,我没有正确地将我的路由嵌套在下面。如果你想把它变成一个答案,我会接受它的伟大的答案!对于那些使用HtmlWebPackPlugin的人,请注意:确保配置对象指定了{files.js:[''/bundle.js']}很好的答案!对于使用HtmlWebPackPlugin的用户,请注意:确保配置对象指定了{files.js:[''/bundle.js']}