maxdenaro / gulp-maxgraph

My gulp settings
429 stars 170 forks source link

Работа с async / await #31

Closed SidorovEvgeny closed 6 months ago

SidorovEvgeny commented 1 year ago

Добрый день, Максим! Пользуюсь вашей сборкой уже несколько месяцев, всё круто и хорошо. Но есть вопрос по асинхронным функциям, подскажите как реализовать корректную работу сборки с использованием данных функций, помогите решить вопрос 🙋. При использовании асинхронной функции консоль выдает ошибку: Error: Module parse failed: The top-level-await experiment is not enabled (set experiments.topLevelAwait: true to enabled it)

Для решения данной проблемы я установил плагин '@babel/plugin-syntax-top-level-await' и прописал новое условие для webpack: topAwait: true Но видимо этого не достаточно, либо я делаю не то, что нужно.

const scripts = () => { return src(paths.srcMainJs) .pipe(plumber({ errorHandler: notify.onError({ title: "JS", message: "Error: <%= error.message %>" }) })) .pipe(webpackStream({ mode: isProd ? 'production' : 'development', output: { filename: 'main.js', }, module: { rules: [{ test: /.m?js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: [ ['@babel/preset-env', { targets: "defaults", // Включение эксперимента с верхнеуровневым ожиданием // (top-level await) topAwait: true }] ] } } }] }, devtool: !isProd ? 'source-map' : false })) .on('error', function (err) { console.error('WEBPACK ERROR', err); this.emit('end'); }) .pipe(dest(paths.buildJsFolder)) .pipe(browserSync.stream()); }

Так сейчас выглядит файл.

maxdenaro commented 6 months ago

Добрый день. На днях обновлю сборку (без вашего кода, т.к. ошибок с async\await никаких нет). Проверьте, если ошибка сохранится - будем думать)