Ошибка выдает Gulp 'Должен использовать импорт для загрузки модуля ES' - PullRequest
1 голос
/ 13 февраля 2020

Мы конвертируем наш gulpfile.js в узле v13.8.0 в ES6 следующим образом:

import { src, dest, series, parallel, watch } from 'gulp'
import nodemon from 'gulp-nodemon' // normal nodemon does not display an error on app crash
import env from 'gulp-env'
import browser from 'browser-sync'
import sass from 'gulp-sass'
// Tasks
export default {
    cssTranspile: cssTranspile,
    jsTranspile: jsTranspile,
    server: series(startNodemon, startBrowserSync),
    default: series(
        parallel(
            cssTranspile,
            jsTranspile
        ),
        startNodemon,
        startBrowserSync,
        function () {
            watch('public/scss/*.scss', cssTranspile)
        }
    )
}

При простом запуске gulp сообщается об ошибке:

internal/modules/cjs/loader.js:1160
      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
      ^

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: T:\Node\ICP\gulpfile.js
require() of ES modules is not supported.

Я, должно быть, делаю что-то не так. У кого-нибудь есть идеи о том, что это может быть?

CLI version: 2.2.0
Local version: 4.0.2

Флаг "type": "module", устанавливается в package.json, как описано в документах для заметок . Эта проблема очень похожа на эту проблему в библиотеке geolib.

И когда мы переименовываем gulpfile.js в gulpfile.babel.js, как описано здесь , мы получаем то же самое ошибка.

В package.json содержатся следующие пакеты:

  "devDependencies": {
    "@babel/core": "^7.8.4",
    "@babel/preset-env": "^7.8.4",
    "@babel/register": "^7.8.3",
    "exports-loader": "^0.7.0",
    "gulp": "^4.0.2",
    "gulp-env": "^0.4.0",
    "gulp-nodemon": "^2.4.2",
    "gulp-sass": "^4.0.2",
    "nodemon": "^2.0.2"
  },
  "type": "module",
  "babel": {
    "presets": [
      "@babel/env"
    ]

1 Ответ

2 голосов
/ 14 февраля 2020

В ответ на мой собственный вопрос, когда в пакете установлен флаг "type": "module". json вы не можете использовать gulp. Более подробную информацию можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...