webpack.config.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. const { resolve } = require('path');
  2. const webpack = require('webpack');
  3. module.exports = {
  4. context: __dirname,
  5. entry: [
  6. 'react-hot-loader/patch',
  7. 'webpack/hot/only-dev-server',
  8. './app/src/index.js'
  9. ],
  10. output: {
  11. path: resolve(__dirname, 'build'),//打包后的文件存放的地方
  12. filename: "bundle.js",//打包后输出文件的文件名
  13. publicPath: "/"
  14. },
  15. devServer: {
  16. contentBase: resolve(__dirname, 'build'),
  17. hot: true,
  18. publicPath: '/',
  19. },
  20. module: {
  21. rules: [
  22. {
  23. test: /\.jsx?$/,
  24. use: [
  25. 'babel-loader',
  26. ],
  27. exclude: /node_modules/
  28. },
  29. {
  30. test: /\.css$/,
  31. loader: 'style-loader!css-loader'//在webpack-dev中不能使用--hot
  32. },
  33. ]
  34. },
  35. plugins: [
  36. new webpack.HotModuleReplacementPlugin(),
  37. new webpack.NamedModulesPlugin(),
  38. new webpack.optimize.UglifyJsPlugin({
  39. compress: {
  40. warnings: false
  41. }
  42. }),
  43. new webpack.DefinePlugin({
  44. 'process.env': {
  45. NODE_ENV: JSON.stringify(process.env.NODE_ENV),
  46. },
  47. }),
  48. ],
  49. devtool: "cheap-eval-source-map",
  50. };