webpack.config.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. const path = require('path');
  2. module.exports = {
  3. mode: 'development',
  4. target: 'web',
  5. output: {
  6. chunkFormat: 'array-push',
  7. chunkLoading: 'jsonp'
  8. },
  9. resolve: {
  10. extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
  11. // 关键:配置模块回退,避免 Node.js 核心模块错误
  12. fallback: {
  13. "module": false,
  14. "test": false,
  15. "fs": false,
  16. "path": false,
  17. "os": false,
  18. "crypto": false,
  19. "stream": false,
  20. "util": false,
  21. "buffer": require.resolve('buffer/'),
  22. // "url": require.resolve('url/'),
  23. // "http": require.resolve('stream-http'),
  24. // "https": require.resolve('https-browserify'),
  25. // "zlib": require.resolve('browserify-zlib')
  26. }
  27. },
  28. module: {
  29. rules: [
  30. {
  31. test: /\.(js|jsx|ts|tsx)$/,
  32. exclude: /node_modules\/(?!cypress)/, // 排除 node_modules,但包含 cypress
  33. use: {
  34. loader: 'babel-loader',
  35. options: {
  36. presets: [
  37. ['@babel/preset-env'],
  38. ['@babel/preset-react'],
  39. ['@babel/preset-typescript']
  40. ]
  41. }
  42. }
  43. }
  44. ]
  45. },
  46. // 忽略 Node.js 核心模块的警告
  47. stats: {
  48. warningsFilter: [
  49. /Critical dependency:/,
  50. /Can't resolve/,
  51. /Module not found/
  52. ]
  53. }
  54. };