webpack.config.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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('awesome-typescript-loader'),
  8. options: {
  9. configFileName: path.resolve(__dirname+'/../tsconfig.json')
  10. }
  11. },
  12. ],
  13. });
  14. config.module.rules.push({
  15. test: /\.scss$/,
  16. use: [
  17. {
  18. loader: 'style-loader/useable',
  19. },
  20. {
  21. loader: 'css-loader',
  22. options: {
  23. importLoaders: 2,
  24. // url: false,
  25. // sourceMap: false,
  26. // minimize: false,
  27. },
  28. },
  29. {
  30. loader: 'postcss-loader',
  31. options: {
  32. sourceMap: false,
  33. config: { path: __dirname + '../../../../scripts/webpack/postcss.config.js' },
  34. },
  35. },
  36. {
  37. loader: 'sass-loader',
  38. options: {
  39. sourceMap: false,
  40. },
  41. },
  42. ],
  43. });
  44. config.module.rules.push({
  45. test: require.resolve('jquery'),
  46. use: [
  47. {
  48. loader: 'expose-loader',
  49. query: 'jQuery',
  50. },
  51. {
  52. loader: 'expose-loader',
  53. query: '$',
  54. },
  55. ],
  56. });
  57. config.resolve.extensions.push('.ts', '.tsx');
  58. return config;
  59. };