webpack.config.main.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. const { resolve } = require("path");
  2. const CopyWebpackPlugin = require("copy-webpack-plugin");
  3. module.exports = {
  4. entry: {
  5. main: resolve(__dirname, "../src/main/index.ts"),
  6. preload: resolve(__dirname,"../src/main/preload/index.ts")
  7. },
  8. module: {
  9. rules: [
  10. {
  11. test: /\.(js|jsx|tsx|ts)$/,
  12. exclude: /node_modules/,
  13. use: "esbuild-loader",
  14. },
  15. {
  16. test: /\.node$/,
  17. exclude: /node_modules/,
  18. use: "node-loader",
  19. },
  20. ],
  21. },
  22. output: {
  23. filename: "[name].js",
  24. libraryTarget: "commonjs2",
  25. path: resolve(__dirname, "../dist"),
  26. },
  27. plugins: [
  28. new CopyWebpackPlugin({
  29. patterns: [
  30. {
  31. from: resolve(__dirname, "../static"),
  32. to: resolve(__dirname, "../dist/static"),
  33. },
  34. ],
  35. }),
  36. ],
  37. resolve: {
  38. extensions: [".tsx", ".ts", ".js", ".json", ".node"],
  39. },
  40. watch: true,
  41. watchOptions: {
  42. poll: 1000, // 每秒询问多少次
  43. aggregateTimeout: 500, //防抖 多少毫秒后再次触发
  44. ignored: /node_modules/, //忽略时时监听
  45. },
  46. target: "electron-main",
  47. };