#javascript #development #tools
idea
npm install --save-dev webpack webpack-cli
in package.json script:
"build:dev": "webpack",
"build:prod": "NODE_ENV=production webpack",
in webpack.config.json. Define NODE_ENV=production to minimize.
const path = require('path');
const common = {
module: {
rules: [
{ test: /\.tsx?$/, use: 'ts-loader' },
{
test: /\.jsx?$/,
loader: "babel-loader",
exclude: [/node_modules/, /public/],
},
{ test: /\.css$/i, use: ["style-loader", 'css-loader'] },
],
},
resolve: {
extensions: ['.tsx', '.ts', '.js', '.jsx', '.css'],
},
mode: "development",
optimization: {
minimizer: [
// new TerserPlugin()
]
},
plugins: [
],
}
const ui = {
entry: './src/client/ui.ts',
output: {
path: path.resolve(__dirname, 'dist', "public"),
filename: 'ui.js',
library: "ui",
libraryTarget: "umd"
},
};
const exp = [ui];
exp.forEach((ex) => Object.assign(ex, common))
module.exports = exp;
Use with plain javascript and jsx:
npm install -D babel-loader @babel/core @babel/preset-env