Guest User

Untitled

a guest
May 21st, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. {
  2. "name": "webpack4_example",
  3. "version": "1.0.0",
  4. "main": "index.js",
  5. "browserslist": ["last 2 versions"],
  6. "scripts": {
  7. "build": "webpack --mode production",
  8. "watch": "webpack --watch --mode development",
  9. "start": "webpack-dev-server --open --mode development"
  10. },
  11. "devDependencies": {
  12. "babel-core": "^6.26.3",
  13. "babel-loader": "^7.1.4",
  14. "babel-preset-env": "^1.7.0",
  15. "babel-preset-react": "^6.24.1",
  16. "babel-preset-stage-2": "^6.24.1",
  17. "css-loader": "^0.28.11",
  18. "html-loader": "^0.5.5",
  19. "html-webpack-plugin": "^3.2.0",
  20. "mini-css-extract-plugin": "^0.4.0",
  21. "node-sass": "^4.9.0",
  22. "postcss-loader": "^2.1.5",
  23. "prop-types": "^15.6.1",
  24. "react": "^16.3.2",
  25. "react-dom": "^16.3.2",
  26. "sass-loader": "^7.0.1",
  27. "webpack": "^4.8.3",
  28. "webpack-cli": "^2.1.3",
  29. "webpack-dev-server": "^3.1.4"
  30. }
  31. }
  32.  
  33. const path = require('path');
  34. const HtmlWebPackPlugin = require('html-webpack-plugin');
  35. const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  36.  
  37. module.exports = {
  38. entry: './Project1/js/app.jsx', // customized entry point
  39. output: {
  40. path: path.resolve(__dirname, 'dist'),
  41. filename: './js/out.js' // generated ./Project1/dist/js/out.js
  42. },
  43. watch: true,
  44. module: {
  45. rules: [
  46. {
  47. test: /.js$/,
  48. exclude: /node_modules/,
  49. use: {
  50. loader: 'babel-loader'
  51. }
  52. },
  53. {
  54. test: /.html$/,
  55. use: [
  56. {
  57. loader: 'html-loader',
  58. options: { minimize: true }
  59. }
  60. ]
  61. },
  62. {
  63. test: /.(png|jpe?g)/i,
  64. use: [
  65. {
  66. loader: 'url-loader',
  67. options: {
  68. name: './img/[name].[ext]',
  69. limit: 10000
  70. }
  71. },
  72. {
  73. loader: 'img-loader'
  74. }
  75. ]
  76. },
  77. {
  78. test: /.scss$/,
  79. use: [
  80. MiniCssExtractPlugin.loader,
  81. 'css-loader',
  82. 'postcss-loader',
  83. 'sass-loader'
  84. ]
  85. }
  86. ]
  87. },
  88. plugins: [
  89. new HtmlWebPackPlugin({
  90. template: './Project1/index.html', // not sure how to set these sections
  91. filename: 'index.html'
  92. }),
  93. new MiniCssExtractPlugin({
  94. filename: '[name].css',
  95. chunkFilename: '[id].css'
  96. })
  97. ]
  98. };
  99.  
  100. {
  101. "presets": ["env", "react", "stage-2"]
  102. }
Add Comment
Please, Sign In to add comment