minishouyin/webpack.config.js
2025-11-12 11:35:57 +08:00

63 lines
1.4 KiB
JavaScript

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
mode: process.env.NODE_ENV || 'production',
entry: './src/renderer/index.js',
target: 'electron-renderer',
devtool: 'source-map',
resolve: {
extensions: ['.js', '.jsx', '.json'],
alias: {
'@': path.resolve(__dirname, 'src/renderer'),
},
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: [
['@babel/preset-env', {
targets: {
electron: '25.0.0'
}
}],
['@babel/preset-react', {
runtime: 'automatic'
}]
],
},
},
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
{
test: /\.(png|jpe?g|gif|svg)$/,
type: 'asset/resource',
},
{
test: /\.(woff|woff2|eot|ttf|otf)$/,
type: 'asset/resource',
},
],
},
output: {
path: path.resolve(__dirname, 'build'),
filename: 'js/[name].js',
publicPath: './',
clean: true,
},
plugins: [
new HtmlWebpackPlugin({
template: './src/renderer/index.html',
filename: 'index.html',
inject: true,
}),
],
};