webpack.config.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. const path = require('path');
  2. module.exports = ({config, mode}) => {
  3. config.module.rules.push({
  4. test: /\.(ts|tsx)$/,
  5. use: [
  6. {
  7. loader: require.resolve('ts-loader'),
  8. options: {}
  9. },
  10. ],
  11. });
  12. config.module.rules.push({
  13. test: /\.scss$/,
  14. use: [
  15. {
  16. loader: 'style-loader/useable',
  17. },
  18. {
  19. loader: 'css-loader',
  20. options: {
  21. importLoaders: 2,
  22. },
  23. },
  24. {
  25. loader: 'postcss-loader',
  26. options: {
  27. sourceMap: false,
  28. config: { path: __dirname + '../../../../scripts/webpack/postcss.config.js' },
  29. },
  30. },
  31. {
  32. loader: 'sass-loader',
  33. options: {
  34. sourceMap: false,
  35. },
  36. },
  37. ],
  38. });
  39. config.module.rules.push({
  40. test: require.resolve('jquery'),
  41. use: [
  42. {
  43. loader: 'expose-loader',
  44. query: 'jQuery',
  45. },
  46. {
  47. loader: 'expose-loader',
  48. query: '$',
  49. },
  50. ],
  51. });
  52. config.resolve.extensions.push('.ts', '.tsx');
  53. return config;
  54. };