42 lines
999 B
JavaScript
42 lines
999 B
JavaScript
const { merge } = require("webpack-merge");
|
|
const baseConfig = require("./webpack.base.js");
|
|
const webpackNodeExternals = require("webpack-node-externals");
|
|
const TerserPlugin = require("terser-webpack-plugin");
|
|
const path = require("path");
|
|
const DefinePlugin = require("webpack").DefinePlugin;
|
|
|
|
const serverConfig = {
|
|
target: "node",
|
|
mode: "development",
|
|
name: "server",
|
|
entry: {
|
|
server: "./src/server/index.js",
|
|
},
|
|
|
|
output: {
|
|
path: path.resolve(process.cwd(), "dist/"),
|
|
filename: "[name].js",
|
|
libraryTarget: "commonjs2",
|
|
chunkFilename: "chunks/[name].js",
|
|
},
|
|
externals: [webpackNodeExternals(), { express: "express" }],
|
|
};
|
|
|
|
module.exports = (env, argv) => {
|
|
if (argv.mode === "production") {
|
|
serverConfig.plugins = [
|
|
new DefinePlugin({
|
|
IS_DEVELOPMENT: false,
|
|
}),
|
|
];
|
|
} else {
|
|
serverConfig.plugins = [
|
|
new DefinePlugin({
|
|
IS_DEVELOPMENT: true,
|
|
}),
|
|
];
|
|
}
|
|
|
|
return merge(baseConfig, serverConfig);
|
|
};
|