module.config.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. const ExtractTextPlugin = require("extract-text-webpack-plugin");
  2. module.exports = function (theme) {
  3. return {
  4. rules: [{
  5. test: /\.jsx?$/,
  6. exclude: /node_modules/,
  7. use: {
  8. loader: 'babel-loader',
  9. options: {
  10. "presets": ["es2015", "react"],
  11. "plugins": [
  12. ["antd", {
  13. "style": true
  14. }]
  15. ]
  16. }
  17. }
  18. }, {
  19. test: /\.css$/,
  20. use: [{
  21. loader: 'css-loader'
  22. }]
  23. },{
  24. test: /\.less$/,
  25. use: ExtractTextPlugin.extract({
  26. fallback: 'style-loader',
  27. use: [{
  28. loader: 'css-loader',
  29. options: {
  30. importLoaders: 1
  31. }
  32. }, {
  33. loader: 'less-loader',
  34. options: {
  35. modifyVars: theme
  36. }
  37. }]
  38. })
  39. }, {
  40. test: /\.(png|jpg)$/,
  41. use: [{
  42. loader: 'url-loader',
  43. options: {
  44. limit: 10240,
  45. name: '[path][name].[ext]'
  46. }
  47. }]
  48. }, {
  49. test: /\.(woff|svg|eot|ttf)$/,
  50. use: [{
  51. loader: 'url-loader',
  52. options: {
  53. limit: 1,
  54. name: '[path][name].[ext]'
  55. }
  56. }]
  57. }
  58. ]
  59. };
  60. }