Как прикрутить 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

2. Настройка 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'));

3. Настройка 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'
     }
   };

4. Использование:
Теперь можно запустить задачу 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 и правильно оптимизированы для релиза.