Error [ERR_REQUIRE_ESM] And Design Pro初始化报错
今天创建项目,用And Design Pro初始化的时候报错,不能创建项目,如下图
D:\Code\front>pro create myapp
D:\Program Files\nodejs\node_global\node_modules\@ant-design\pro-cli\src\create\generators\ant-design-pro\index.js:10
const sortPackage = require('sort-package-json');
^
Error [ERR_REQUIRE_ESM]: require() of ES Module D:\Program Files\nodejs\node_global\node_modules\@ant-design\pro-cli\nod e_modules\sort-package-json\index.js from D:\Program Files\nodejs\node_global\node_modules\@ant-design\pro-cli\src\creat e\generators\ant-design-pro\index.js not supported.
Instead change the require of D:\Program Files\nodejs\node_global\node_modules\@ant-design\pro-cli\node_modules\sort-pac kage-json\index.js in D:\Program Files\nodejs\node_global\node_modules\@ant-design\pro-cli\src\create\generators\ant-des ign-pro\index.js to a dynamic import() which is available in all CommonJS modules.
at Object.<anonymous> (D:\Program Files\nodejs\node_global\node_modules\@ant-design\pro-cli\src\create\generators\an t-design-pro\index.js:10:21)
at D:\Program Files\nodejs\node_global\node_modules\@ant-design\pro-cli\src\create\index.js:15:23
at new Promise (<anonymous>)
at runGenerator (D:\Program Files\nodejs\node_global\node_modules\@ant-design\pro-cli\src\create\index.js:8:10)
at run (D:\Program Files\nodejs\node_global\node_modules\@ant-design\pro-cli\src\create\index.js:35:12)
at Object.<anonymous> (D:\Program Files\nodejs\node_global\node_modules\@ant-design\pro-cli\cli.js:60:34) {
code: 'ERR_REQUIRE_ESM'
}
然后去github查看issues,原因是sort-package-json这个依赖的问题,找到了解决办法。
解决方案
v5版本
1、使用 npm i @ant-design/pro-cli -g 安装后,进入@ant-design/pro-cli 目录下
2、打开 package.json进行修改,在 deependencies 中添加
"sort-package-json":"1.55.0"
3、然后再 pro-cli 目录下 npm i
之后再用 pro create xxxx 创建,就可以了