使用gulp压缩时报错Error [ERR_REQUIRE_ESM]: Must use import to load ES Module

最近升级了一下gulp,发现再次压缩时报错

原因是gulp-imagemin 8.0.0只支持ES6语法,而我用的是Commonjs的语法,在引入模块时使用的是require,所以在使用gulp-imagemin的时候就出错了

解决方法

SyntaxError: Cannot use import statement outside a module

STEP1: 将gulpfile.js改为gulpfile.mjs,在package.json中加入"type": "module",这样可以让gulpfile按ES6的语法解析。

STEP2: 将gulpfile中所有的的require按ES6语法替换为import,如将const gulp = require('gulp'),替换为import gulp from 'gulp'

 

希望我的方法对你有帮助。

相关文章

原文连接:https://www.cnblogs.com/dupd/p/5951311.htmlES6...
以为Es6,javascript第一次支持了module。ES6的模块化分为导...
视频讲解关于异步处理,ES5的回调使我们陷入地狱,ES6的Prom...
TypeScript什么是TypeScript?TypeScript是由微软开发的一款开...
export class AppComponent { title = 'Tour of heroes...
用 async/await 来处理异步昨天看了一篇vue的教程,作者用as...