juwiley juwiley - 17 days ago 7
React JSX Question

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"
]
}
}
]
}
};

Answer

Try setting the contentBase to public folder

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

Comments