gatsby-node.js 1004 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import path from 'path';
  2. import dotenv from 'dotenv';
  3. dotenv.config({
  4. path: `.env.${process.env.NODE_ENV}`,
  5. });
  6. export const onCreateWebpackConfig = function addPathMapping({
  7. stage,
  8. actions,
  9. getConfig,
  10. }) {
  11. actions.setWebpackConfig({
  12. resolve: {
  13. alias: {
  14. '~': path.resolve(__dirname, 'src'),
  15. },
  16. },
  17. });
  18. // TODO: make sure this only runs in dev
  19. actions.setWebpackConfig({
  20. devtool: 'eval-source-map',
  21. });
  22. // Attempt to improve webpack vender code splitting
  23. if (stage === 'build-javascript') {
  24. const config = getConfig();
  25. config.optimization.splitChunks.cacheGroups = {
  26. ...config.optimization.splitChunks.cacheGroups,
  27. vendors: {
  28. test: /[\\/]node_modules[\\/]/,
  29. enforce: true,
  30. chunks: 'all',
  31. priority: 1,
  32. },
  33. };
  34. // Ensure Gatsby does not do any css code splitting
  35. config.optimization.splitChunks.cacheGroups.styles.priority = 10;
  36. actions.replaceWebpackConfig(config);
  37. }
  38. };