Мы конвертируем наш 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"
]