webpack.dev.conf.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. 'use strict';
  2. const config = require('../config');
  3. const webpack = require('webpack');
  4. const merge = require('webpack-merge');
  5. const baseWebpackConfig = require('./webpack.base.conf');
  6. const HtmlWebpackPlugin = require('html-webpack-plugin');
  7. const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin');
  8. const cssSourceMap = config.dev.cssSourceMap;
  9. baseWebpackConfig.entry.main=[
  10. 'react-hot-loader/patch',
  11. 'webpack-hot-middleware/client?noInfo=true&reload=true',
  12. './src/main.js'
  13. ];
  14. module.exports = merge(baseWebpackConfig, {
  15. devtool: '#cheap-module-eval-source-map',
  16. resolve: {
  17. alias: {
  18. 'react': 'anujs/dist/ReactIE',
  19. 'react-server': 'anujs/dist/ReactDOMServer',
  20. 'react-dom': 'anujs/dist/ReactIE',
  21. 'prop-types': 'anujs/lib/ReactPropTypes'
  22. }
  23. },
  24. module: {
  25. rules: [
  26. {
  27. test: /\.css$/,
  28. use: [
  29. 'style-loader',
  30. {
  31. loader: 'css-loader',
  32. options: {
  33. minimize: false,
  34. sourceMap: cssSourceMap,
  35. localIdentName: '[path][hash:base64:5]',
  36. module: true
  37. }
  38. }
  39. ]
  40. },
  41. {
  42. test: /\.less/,
  43. use: [
  44. 'style-loader',
  45. {
  46. loader: 'css-loader',
  47. options: {
  48. minimize: false,
  49. sourceMap: cssSourceMap,
  50. importLoaders: 1,
  51. localIdentName: '[path][hash:base64:5]',
  52. module: true
  53. }
  54. },
  55. {
  56. loader: 'less-loader',
  57. options: {
  58. sourceMap: cssSourceMap
  59. }
  60. }]
  61. }
  62. ]
  63. },
  64. plugins: [
  65. new webpack.DefinePlugin({
  66. 'process.env': config.dev.env
  67. }),
  68. new webpack.HotModuleReplacementPlugin(),
  69. new webpack.NoEmitOnErrorsPlugin(),
  70. new HtmlWebpackPlugin({
  71. filename: 'index.html',
  72. template: 'index.html',
  73. inject: 'body'
  74. }),
  75. new FriendlyErrorsPlugin()
  76. ]
  77. });