I'm working on opensource project, right now i need to setup webpack for front end. i tried webpack config below, JS is works fine, but css isn't, no css output file. i dont why this happen, please help me.
below is my webpack config js file:
const path = require("path");
const webpack = require('webpack');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const node_dir = __dirname + '/node_modules';
const sassLoaders = [
'css-loader',
'sass-loader?indentedSyntax=sass&includePaths[]=' + path.resolve(__dirname, './public/stylesheets/')
]
const config = {
addVendor: function (name, path) {
this.resolve.alias[name] = path;
this.module.noParse.push(new RegExp('^' + name + '$'));
},
entry: {
app: './public/javascripts/app.js',
vendors: ['jquery','underscore']
},
output: {
path: path.join(__dirname, process.env.NODE_ENV === 'production' ? './public/dist' : './public/dev'),
filename: process.env.NODE_ENV === 'production' ? '[name].[hash].js' : '[name].js',
publicPath: 'public/dev'
},
module:{
noParse: [],
loaders:[
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract('style-loader', sassLoaders.join('!'))
},
{
test: /\.js$/,
exclude: /node_modules/,
loader:'babel?presets[]=es2015'
}
]
},
resolve: {
alias: {},
extensions: ['', '.js', '.scss'],
},
plugins: [
new webpack.NoErrorsPlugin(),
new ExtractTextPlugin("qor.css", {
allChunks: true
}),
new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.bundle.js'),
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery"
}),
new webpack.ProvidePlugin({
_: "underscore",
})
]
};
config.addVendor('jquery', node_dir + '/jquery/dist/jquery.js');
config.addVendor('underscore', node_dir + '/underscore/underscore.js');
module.exports = config;
when i run webpack -d --watch --progress --colors
there is no css file output. just js files.
here is my project folder
Didn't you forget to require your stylesheet in js entry point using require:
// in your modules just require the stylesheet
// This has the side effect that a <style>-tag is added to the DOM.
require("./stylesheet.css");
If you want to generate a native css output file, check out this guide from webpack documentation.
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