Не удается прочитать свойство 'rollupVersion' из неопределенного или о том, как настроить gulp с помощью накопительного пакета и babel - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь связать некоторый код JS для моего приложения Cordova.Я выбираю Gulp с Rollup и Babel.Так что теперь я пытаюсь решить проблему с «регенераторRuntime не определен».Так что я нашел некоторые проблемы на Github.Итак, теперь я получаю эту ошибку:

events.js:174
      throw er; // Unhandled 'error' event
      ^
TypeError: Cannot read property 'rollupVersion' of undefined
    at Object.options (C:\Users\Uzivatel\Documents\Projects\c4w-app-2019\node_modules\rollup-plugin-node-resolve\dist\rollup-plugin-node-resolve.cjs.js:219:47)
    at C:\Users\Uzivatel\Documents\Projects\c4w-app-2019\node_modules\rollup\dist\rollup.js:18478:31
    at Array.reduce (<anonymous>)
    at new Graph (C:\Users\Uzivatel\Documents\Projects\c4w-app-2019\node_modules\rollup\dist\rollup.js:18476:32)
    at Object.rollup (C:\Users\Uzivatel\Documents\Projects\c4w-app-2019\node_modules\rollup\dist\rollup.js:18954:23)
    at C:\Users\Uzivatel\Documents\Projects\c4w-app-2019\node_modules\gulp-rollup\index.js:170:23
    at Array.map (<anonymous>)
    at C:\Users\Uzivatel\Documents\Projects\c4w-app-2019\node_modules\gulp-rollup\index.js:159:37
    at process._tickCallback (internal/process/next_tick.js:68:7)
Emitted 'error' event at:
    at GulpRollup.EventEmitter.emit (domain.js:454:12)
    at Immediate.<anonymous> (C:\Users\Uzivatel\Documents\Projects\c4w-app-2019\node_modules\gulp-rollup\index.js:229:14)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)
    at process.topLevelDomainCallback (domain.js:120:23)

Вот некоторые настройки, которые я сделал:

gulpfile.js

var gulp = require('gulp');
var rollup = require('gulp-rollup');
var rollupBabel = require('rollup-plugin-babel');
var commonjs = require('rollup-plugin-commonjs');
var resolve = require('rollup-plugin-node-resolve');

function bundle(cb) {
  gulp
    .src('./www/src/**/*.js')
    // transform the files here.
    .pipe(
      rollup({
        // any option supported by Rollup can be set here.
        output: {
          format: 'iife',
          globals: {
            '@babel/runtime-regenerator': 'regeneratorRuntime'
          }
        },
        plugins: [
          resolve(),
          commonjs({
            include: 'node_modules/**'
          }),
          rollupBabel({
            exclude: 'node_modules/**',
            presets: [['@babel/preset-env', { modules: false }]],
            runtimeHelpers: true
          })
        ],
        input: './www/src/App.js'
      })
    )
    .pipe(gulp.dest('./www/js/'));
  cb();
}

exports.bundle = bundle;

.babelrc

{
  "presets": ["@babel/env"],
  "plugins": [
    "@babel/plugin-transform-runtime"
  ]
}

Пожалуйста, кто-нибудь может мне помочь, как правильно все настроить, чтобы это работало?Мне нужно связать около 20 файлов js с кодом ES6 в один файл с транспортированным JS для использования в моем приложении Cordova.

Спасибо.

1 Ответ

0 голосов
/ 28 июня 2019

попробовать npm установить накопительный пакет @ ^ 1 --save-dev

от https://www.npmjs.com/package/gulp-better-rollup

...