我们正在转换我们的 gulpfile.js
在 Node 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
如note docs 中所述.该问题与 this issue 非常相似在 geolib 库中。当我们重命名
gulpfile.js
至gulpfile.babel.js
如所述here我们得到同样的错误。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"
]
最佳答案
在回答我自己的问题时,当标志 "type": "module"
在 package.json 中设置你不能使用 gulp
.更多信息可以找到here .
关于javascript - Gulp 抛出错误 'Must use import to load ES Module',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60209196/