webpack.config.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import path from 'path';
  2. import webpack from 'webpack';
  3. function resolve(dir) {
  4. return path.join(__dirname, dir);
  5. }
  6. const config = {
  7. resolve: {
  8. alias: {
  9. '@douyinfe/semi-foundation': resolve('packages/semi-foundation'),
  10. '@douyinfe/semi-icons': resolve('packages/semi-icons/src'),
  11. '@douyinfe/semi-ui': resolve('packages/semi-ui'),
  12. '@douyinfe/semi-theme-default': resolve('packages/semi-theme-default'),
  13. '@douyinfe/semi-illustrations': resolve('packages/semi-illustrations/src'),
  14. '@douyinfe/semi-animation': resolve('packages/semi-animation'),
  15. '@douyinfe/semi-animation-react': resolve('packages/semi-animation-react'),
  16. '@douyinfe/semi-animation-styled': resolve('packages/semi-animation-styled'),
  17. },
  18. extensions: ['.tsx', '.ts', '.jsx', '.js'],
  19. },
  20. module: {
  21. rules: [
  22. {
  23. test: /\.s(a|c)ss$/,
  24. include: [
  25. resolve('packages/semi-ui'),
  26. resolve('packages/semi-foundation'),
  27. resolve('packages/semi-icons'),
  28. ],
  29. use: [
  30. 'style-loader',
  31. 'css-loader',
  32. 'sass-loader',
  33. resolve('packages/semi-webpack/lib/semi-theme-loader.js'),
  34. ],
  35. },
  36. {
  37. test: /\.[jt]sx?$/,
  38. use: 'ts-loader',
  39. exclude: /node_modules/,
  40. },
  41. ],
  42. },
  43. };
  44. export default config;