You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.2 KiB
57 lines
1.2 KiB
const merge = require("webpack-merge"); |
|
const common = require("./webpack.common.config.js"); |
|
const path = require("path"); |
|
|
|
const { CleanWebpackPlugin } = require("clean-webpack-plugin"); |
|
const TerserPlugin = require("terser-webpack-plugin"); |
|
|
|
module.exports = merge(common, { |
|
mode: "production", |
|
devtool: "", |
|
entry: { |
|
index: "./src/index", |
|
}, |
|
output: { |
|
filename: "[name].js", |
|
path: path.resolve(__dirname, "../dist"), |
|
libraryTarget: "commonjs2", |
|
}, |
|
optimization: { |
|
minimize: true, |
|
minimizer: [new TerserPlugin()], |
|
}, |
|
module: { |
|
rules: [ |
|
{ |
|
test: /\.css$/, |
|
use: ["style-loader", "css-loader"], |
|
}, |
|
{ |
|
test: /\.s[ac]ss$/i, |
|
use: [ |
|
// Creates `style` nodes from JS strings |
|
"style-loader", |
|
// Translates CSS into CommonJS |
|
"css-loader", |
|
// Compiles Sass to CSS |
|
"sass-loader", |
|
], |
|
}, |
|
], |
|
}, |
|
plugins: [new CleanWebpackPlugin()], |
|
externals: { |
|
react: { |
|
root: "React", |
|
commonjs2: "react", |
|
commonjs: "react", |
|
amd: "react", |
|
}, |
|
"react-dom": { |
|
root: "ReactDOM", |
|
commonjs2: "react-dom", |
|
commonjs: "react-dom", |
|
amd: "react-dom", |
|
}, |
|
}, |
|
});
|
|
|