I run webpack-dev-server from the root folder of my project. I have assets folder in /src/assets that is copied by CopyWebPackPlugin:
new CopyWebpackPlugin([ { from: 'src/assets', to: 'assets' } ])
If I put logo.png inside assets folder then After running webpack-dev-server I can't access http://localhost/assets/logo.png file, but can access http://localhost/src/assets/logo.png file. However if I run in production mode the situation turns upside down.
How to configure webpack server to make http://localhost/assets/logo.png file accessible in development mode?
Content Base. The webpack-dev-server will serve the files in the current directory, unless you configure a specific content base. Using this config webpack-dev-server will serve the static files in your public folder. It'll watch your source files for changes and when changes are made the bundle will be recompiled.
Webpack v4+ will minify your code by default in production mode .
A dev server is typically an internal web server used for testing and running code in development. It is a web server.
I would add that it was the opposite for me. I originally had my images and .obj/.mtl
files in a public
folder that existed at the root of my application. I moved them into an assets
folder that was created in the app
folder.
Performing an npm install --save-dev copy-webpack-plugin
and adding the
new CopyWebpackPlugin([ { from: 'src/assets', to: 'assets' } ])
to the webpack.common.js
file fixed my problem.
You can tell webpack to use a different path when loading from the browser.
In the output
section of your webpack config file add a publicPath
field pointing to your assets
folder.
webpack.config.js
output: { // your stuff publicPath: '/assets/' }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With