{ "name": "smash-template-react-v16", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "webpack-dev-server --mode development", "build": "webpack --mode production" }, "author": "", "license": "ISC", "dependencies": { "react": "^16.7.0", "react-dom": "^16.7.0" }, "devDependencies": { "@babel/core": "^7.2.2", "@babel/preset-env": "^7.2.3", "@babel/preset-react": "^7.0.0", "babel-loader": "^8.0.5", "html-loader": "^0.5.5", "html-webpack-plugin": "^3.2.0", "uglifyjs-webpack-plugin": "^2.1.1", "webpack": "^4.28.4", "webpack-cli": "^3.2.1", "webpack-dev-server": "^3.1.14" }}
const path = require('path');const HtmlWebPackPlugin = require("html-webpack-plugin");module.exports = { entry: { index: './src/index.js', }, output: { path: path.join(__dirname, 'dist'), filename: '[name].[hash].js', }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" }, { test: /\.html$/, use: [{ loader: "html-loader" }] }, ] }, plugins: [ new HtmlWebPackPlugin({ template: "./src/index.html", filename: "index.html", }), ], devServer: { contentBase: path.join(__dirname, 'dist'), compress: true, open: true, }, externals: { jquery: 'jQuery', react: 'React', 'react-dom': 'ReactDOM', }, resolve: { alias: { }, },};