1 Star 1 Fork 0

nur/electron-react-typescript-webpack-boilerplate

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
webpack.config.js 2.14 KB
一键复制 编辑 原始数据 按行查看 历史
Wing Chau 提交于 6年前 . Config CopyPkgJsonPlugin
const lodash = require('lodash');
const CopyPkgJsonPlugin = require('copy-pkg-json-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');
function srcPaths(src) {
return path.join(__dirname, src);
}
const isEnvProduction = process.env.NODE_ENV === 'production';
const isEnvDevelopment = process.env.NODE_ENV === 'development';
// #region Common settings
const commonConfig = {
devtool: isEnvDevelopment ? 'source-map' : false,
mode: isEnvProduction ? 'production' : 'development',
output: { path: srcPaths('dist') },
node: { __dirname: false, __filename: false },
resolve: {
alias: {
'@': srcPaths('src'),
'@main': srcPaths('src/main'),
'@models': srcPaths('src/models'),
'@public': srcPaths('public'),
'@renderer': srcPaths('src/renderer'),
'@utils': srcPaths('src/utils'),
},
extensions: ['.js', '.json', '.ts', '.tsx'],
},
module: {
rules: [
{
test: /\.(ts|tsx)$/,
exclude: /node_modules/,
loader: 'ts-loader',
},
{
test: /\.(scss|css)$/,
use: ['style-loader', 'css-loader'],
},
{
test: /\.(jpg|png|svg|ico|icns)$/,
loader: 'file-loader',
options: {
name: '[path][name].[ext]',
},
},
],
},
};
// #endregion
const mainConfig = lodash.cloneDeep(commonConfig);
mainConfig.entry = './src/main/main.ts';
mainConfig.target = 'electron-main';
mainConfig.output.filename = 'main.bundle.js';
mainConfig.plugins = [
new CopyPkgJsonPlugin({
remove: ['scripts', 'devDependencies', 'build'],
replace: {
main: './main.bundle.js',
scripts: { start: 'electron ./main.bundle.js' },
postinstall: 'electron-builder install-app-deps',
},
}),
];
const rendererConfig = lodash.cloneDeep(commonConfig);
rendererConfig.entry = './src/renderer/renderer.tsx';
rendererConfig.target = 'electron-renderer';
rendererConfig.output.filename = 'renderer.bundle.js';
rendererConfig.plugins = [
new HtmlWebpackPlugin({
template: path.resolve(__dirname, './public/index.html'),
}),
];
module.exports = [mainConfig, rendererConfig];
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/nur/electron-react-typescript-webpack-boilerplate.git
git@gitee.com:nur/electron-react-typescript-webpack-boilerplate.git
nur
electron-react-typescript-webpack-boilerplate
electron-react-typescript-webpack-boilerplate
master

搜索帮助