webpack.config.simple.js 968 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. var path = require("path");
  2. var webpack = require('webpack');
  3. var BundleTracker = require('webpack-bundle-tracker');
  4. var MiniCssExtractPlugin = require('mini-css-extract-plugin');
  5. module.exports = {
  6. context: __dirname,
  7. entry: './assets/js/index',
  8. output: {
  9. path: path.resolve('./assets/bundles/'),
  10. filename: "[name].js"
  11. },
  12. plugins: [
  13. new MiniCssExtractPlugin(),
  14. new BundleTracker({path: __dirname, filename: './webpack-stats.json'}),
  15. ],
  16. module: {
  17. rules: [
  18. // we pass the output from babel loader to react-hot loader
  19. {
  20. test: /\.jsx?$/,
  21. exclude: /node_modules/,
  22. use: {
  23. loader: 'babel-loader',
  24. options: {
  25. presets: ['@babel/preset-react']
  26. }
  27. }
  28. },
  29. { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'], }
  30. ],
  31. },
  32. resolve: {
  33. modules: ['node_modules', 'bower_components'],
  34. extensions: ['.js', '.jsx']
  35. },
  36. }