引用错误:ES模块范围中未定义必需,您可以使用import代替gulp sass

j2qf4p5b  于 2022-12-08  发布在  Gulp
关注(0)|答案(3)|浏览(736)

使用这行程式码时发生错误

const sass = require('gulp-sass')(require('sass'));

错误输出为:

Requiring external module babel-register
ReferenceError: require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a '.js' file extension and 'C:\xampp-clean\htdocs\myfirsttheme\package.json' contains "type": "module". T
o treat it as a CommonJS script, rename it to use the '.cjs' file extension.

我变了

const sass = require('gulp-sass')(require('sass'));

错误消失了,但我得到这个错误:

Requiring external module babel-register
TypeError: Cannot read property 'prod' of undefined

而这一行导致错误:

const PRODUCTION = yargs.argv.prod;

有人有主意吗?
我已经尝试了很多,并在谷歌上搜索了这个错误,但我没有找到解决方案,有人对此有想法吗?提前感谢

bjp0bcyl

bjp0bcyl1#

你能检查package.json文件中的“type”部分吗?如果type部分是module,你会得到这个错误。你必须使它成为Commonjs。

92dk7w1h

92dk7w1h2#

对我有效,仅在package.json文件中更改,该行:
“类型”:“模块”更改为“类型”:“commonjs”

2w3rbyxf

2w3rbyxf3#

1.首先将"type":"commonjs"添加到package.json中。
1.降级您的软件包版本。如果您使用的是gulp-imagemin版本8.0.0,请安装旧版本,如npm i gulp-imagemin@7.1.0
这就是所有现在享受编码...

相关问题