I getting erros while trying to bundle my react app.
Uncaught Error: Module build failed (from ./node_modules/css-loader/index.js): ModuleParseError: Module parse failed: Unexpected character ' '
./src/static/css/main.css Module build failed (from ./node_modules/css-loader/index.js): ModuleParseError: Module parse failed: Unexpected character ' '
./src/static/fonts/CHILLER.TTF 1:0 Module parse failed: Unexpected character ' '
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
module: {
rules: [
{
test: /\.(png|jp?g|svg)(\?v=\d+\.\d+\.\d+)?$/,
use : [{
loader: 'file-loader',
options: {
name: '[name].[ext]'
}}
]
},
{
test: /\.(woff|woff2|eot|ttf)?$/,
loader: 'file-loader',
options: {
name: "[name].[ext]"
}
},
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})
},
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html',
filename: './index.html'
}),
new ExtractTextPlugin('style.css')
]
}
This config works for me. Webpack 4.16
webpack.config.js
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: ['babel-polyfill', './src/index.js'],
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
},
module: {
rules: [
{ test: /.css$/, use: ['style-loader', 'css-loader'] },
{
test: /.js?$/,
exclude: /(node_modules)/,
loader: 'babel-loader',
query: {
presets: [
'env', 'react', 'stage-0'
],
plugins: [
'transform-class-properties',
'transform-decorators-legacy',
]
}
},
],
},
resolve: {
alias: {
}
},
stats: 'normal'
};
src/.babelrc
{
"presets": [
"env",
"react",
"stage-0"
],
"plugins": [
"transform-class-properties",
"transform-decorators-legacy",
],
"env": {
"test": {
"plugins": [
"transform-es2015-modules-commonjs"
]
},
}