Как прикрутить source map к webpack gulp?

Для прикручивания Source Maps к Gulp и Webpack необходимо выполнить несколько шагов.

  1. Установка необходимых пакетов:

Перед началом работы убедитесь, что у вас установлены Gulp и Webpack. Если их нет, выполните следующие команды:

   npm install gulp -g
   npm install webpack -g

Также понадобятся следующие пакеты, которые будут установлены локально в ваш проект:

   npm install gulp-install gulp-webpack gulp-sourcemaps --save-dev
  1. Настройка Gulp:

Создайте файл gulpfile.js в корне вашего проекта и добавьте в него следующий код:

   const gulp = require('gulp');
   const webpack = require('webpack-stream');
   const sourcemaps = require('gulp-sourcemaps');

   // Задача для Gulp, которая будет собирать исходники через Webpack с подключенными Source Maps
   gulp.task('build', () =>
     gulp.src('src/main.js')
       .pipe(sourcemaps.init())
       .pipe(webpack(require('./webpack.config.js')))
       .pipe(sourcemaps.write())
       .pipe(gulp.dest('dist'))
   );

   gulp.task('default', gulp.series('build'));
  1. Настройка Webpack:

Создайте файл webpack.config.js в корне вашего проекта и добавьте в него следующий код:

   const path = require('path');

   module.exports = {
     mode: 'development',
     devtool: 'inline-source-map',
     entry: './src/main.js',
     output: {
       path: path.resolve(__dirname, 'dist'),
       filename: 'bundle.js'
     }
   };
  1. Использование:

Теперь можно запустить задачу gulp build командой gulp build в терминале. Gulp выполнит следующие действия:

  • возьмет исходный файл src/main.js
  • инициализирует Source Maps через плагин gulp-sourcemaps
  • соберет исходники через Webpack с настройками из webpack.config.js
  • запишет Source Maps в исходные файлы
  • положит готовые файлы в папку dist

Теперь вы можете открыть веб-браузер и проверить, что Source Maps работают. Если вы будете искать ошибки в исходном коде, Source Maps позволят браузеру отобразить соответствующие участки кода в оригинальном файле, а не в собранном бандле.

Source Maps очень полезны при отладке и разработке, поскольку они значительно упрощают процесс выявления и исправления ошибок.

Важно отметить, что в данном примере Source Maps настроены для разработки. Если вы планируете использовать Gulp и Webpack в продакшене, убедитесь, что соответствующие настройки Webpack изменены на production и правильно оптимизированы для релиза.