Allyl Isocyanate
Allyl Isocyanate

Reputation: 13616

Webpack defaulting to /public directory

I have a React app I'm porting to Webpack, and I can successfully launch it using webpack-dev-server.

Unfortunately I have to navigate to the public directory to load the app:

localhost:10000/public/

...which interferes with React router. Is it possible to have it mount to / instead? I.e:

localhost:10000/

The publicPath directive in output doesn't seem to influence this.

// webpack.config.js
module.exports = {
  devServer: {
    inline: true,
    port: 10000 // Defaults to 8080
  },
  entry: {
    app: ['./src/app.jsx']
  },
  devtool: 'source-map',
  resolve: {
    extensions: ['', '.js', '.jsx']
  },
  output: {
    path: path.resolve(__dirname, "public/scripts"),
    publicPath: '/scripts/',
    filename: 'bundle.js'
  },
  module: {
    loaders: [
      {
        test: /\.jsx?$/,
        loader: 'babel-loader',
        exclude: /node_modules/,
        query: {
          presets: [
            "es2015",
            "stage-0",
            "react"
          ],
          plugins: [
            "transform-flow-strip-types"
          ]
        }
      }
    ]
  }
};

Upvotes: 0

Views: 791

Answers (1)

Lucas Katayama
Lucas Katayama

Reputation: 4570

Try setting the contentBase to public folder

https://webpack.github.io/docs/configuration.html#devserver

Upvotes: 1

Related Questions