You must use the extract-text-html plugin to do this.
In your webpack.config.js set this:
var webpack = require('webpack'),
ExtractTextPlugin = require("extract-text-webpack-plugin"),
HtmlWebpackPlugin = require('html-webpack-plugin'),
path = require('path'),
srcPath = path.join(__dirname, 'src'),
sassLoaders = [
"css-loader",
"autoprefixer-loader?browsers=last 2 version",
"sass-loader?indentedSyntax=sass&includePaths[]=" + path.resolve(__dirname, "./src"),
];
For the loader and plugin I recommend:
module: {
loaders: [
{test: /\.scss$/, loaders: ["style", "css", "sass"]},
{test: /\.css$/, loader: ExtractTextPlugin.extract("style-loader", "css-loader")},
{test : /\.woff|\.woff2|\.svg|.eot|\.ttf|\.png/, loader : 'url?prefix=font/&limit=10000&name=/assets/fonts/[name].[ext]'
}
]
},
plugins: [
new ExtractTextPlugin("main.css"),
new webpack.NoErrorsPlugin(),
]
EDIT:
As you use the ExtractTextPlugin it'll place a css from the sass file all bundled together in the output folder.
You can place the name on the Plugin like: new ExtractTextPlugin("main.css")
Output
output: {
path: path.resolve(__dirname, "./public"),
},
I recommend you check also the HtmlWebpackPlugin to inject the css and js in the html automatically and the CommonsChunkPlugin so you can build all your libs into a separated js and all your code in another, it really saves some time when debugging.