Grunt 仍然无法处理 ES6 导入?
Grunt still unable to handle ES6 imports?
我正在 NodeJS 下开发一个使用 ES6 imports/exports 的项目(因此在其 package.json 中设置了 type: module
)并希望使用 G[=30= 自动执行一些任务]吨。现在,我非常喜欢 g运行t,但在我看来,即使在 2022 年它仍然无法很好地与 ES6 模块一起工作?我总是收到一条错误消息,说 "require() of ES Module /vagrant/Gruntfile.js from /vagrant/node_modules/grunt/lib/grunt/task.js not supported."
我了解 where this is coming from,并且我确实了解有解决方法选项 - 特别是,将 Gruntfile.js 重命名为 Gruntfile.cjs 并将其传递给 g运行t --gruntfile
命令行选项。但这非常烦人 - 它使命令 六次 只要我可以 运行 grunt
就可以完成它。用 Babel 之类的东西进行转译几乎是一样的:这正是 g运行t 首先要处理的事情,所以感觉有点像骑马的马。我觉得这应该“有效”。
我是不是遗漏了什么,或者 g运行t 真的无法开箱即用地处理 ES6 导入?
其实看了grunt github page it appears that a recent commit已经解决了。
我想这个问题会因此在他们的下一次更新中得到解决。
我正在 NodeJS 下开发一个使用 ES6 imports/exports 的项目(因此在其 package.json 中设置了 type: module
)并希望使用 G[=30= 自动执行一些任务]吨。现在,我非常喜欢 g运行t,但在我看来,即使在 2022 年它仍然无法很好地与 ES6 模块一起工作?我总是收到一条错误消息,说 "require() of ES Module /vagrant/Gruntfile.js from /vagrant/node_modules/grunt/lib/grunt/task.js not supported."
我了解 where this is coming from,并且我确实了解有解决方法选项 - 特别是,将 Gruntfile.js 重命名为 Gruntfile.cjs 并将其传递给 g运行t --gruntfile
命令行选项。但这非常烦人 - 它使命令 六次 只要我可以 运行 grunt
就可以完成它。用 Babel 之类的东西进行转译几乎是一样的:这正是 g运行t 首先要处理的事情,所以感觉有点像骑马的马。我觉得这应该“有效”。
我是不是遗漏了什么,或者 g运行t 真的无法开箱即用地处理 ES6 导入?
其实看了grunt github page it appears that a recent commit已经解决了。
我想这个问题会因此在他们的下一次更新中得到解决。