SAPUI5云应用npm install报错:CommonJS无法require ES模块dateformat
问题:执行
npm install时遭遇ES模块与CommonJS兼容错误 执行npm install时出现以下错误:
taskRepository: Failed to require task module for setTimestamp: require() of ES Module ......\node_modules\dateformat\lib\dateformat.js from .....\setTimestamp.js not supported. Instead change the require of dateformat.js in .....\setTimestamp.js to a dynamic import() which is available in all CommonJS modules.
setTimestamp.js文件中的代码如下:
const stringReplacer = require("@ui5/builder").processors.stringReplacer; const df = require("dateformat");
这是一个基于SAPUI5的云应用,包含两个package.json文件:
根目录下的package.json内容
"version": "1.2.0", "devDependencies": { "@ui5/builder": "^2.11.5", "@ui5/cli": "^2.14.10", "@wdio/cli": "7.23.0", "@wdio/cucumber-framework": "7.23.0", "@wdio/junit-reporter": "7.23.0", "@wdio/local-runner": "7.23.0", "@wdio/selenium-standalone-service": "7.23.0", "@wdio/spec-reporter": "7.23.0", "chai": "^4.3.6", "chromedriver": "^104.0.0", "cucumber-html-reporter": "5.5.0", "nyc": "^15.1.0", "opa-e2e": "^1.0.11", "request": "^2.88.2", "request-promise": "^4.2.6", "shelljs": "^0.8.5", "type": "module", "wdio-chromedriver-service": "^7.3.2", "wdio-cucumber-reporter": "0.0.2", "wdio-cucumberjs-json-reporter": "^4.4.3" }, "resolutions": { "terser": ">=5.14.2", "markdown-it": ">=12.3.2", "marked": ">=4.0.10", "shelljs": ">=0.8.5", "ejs": ">=3.1.7", "node-fetch": ">=2.6.7", "got": ">=11.8.5", "follow-redirects": ">=1.14.8", "minimist": ">=1.2.6" }
内部目录的package.json内容
"ui5": { "dependencies": [ "ui5-middleware-livereload", "ui5-middleware-simpleproxy", "ui5-middleware-servestatic", "@dwc/ui5-middleware-dwc" ] }, "devDependencies": { "@dwc/ui5-middleware-dwc": "^1.4.2-20220817085704", "@ui5/cli": "^2.14.10", "dateformat": "^5.0.3", "env-cmd": "^10.1.0", "eslint": "^8.22.0", "karma": "6.4.0", "karma-chrome-launcher": "^3.1.1", "karma-coverage": "^2.2.0", "karma-junit-reporter": "^2.0.1", "karma-qunit": "^4.1.2", "karma-sinon": "^1.0.5", "karma-ui5": "2.4.0", "nyc": "^15.1.0", "qunitjs": "^2.4.1", "rimraf": "^3.0.2", "shelljs": "^0.8.5", "start-server-and-test": "^1.14.0", "ui5-middleware-livereload": "^0.7.0", "ui5-middleware-servestatic": "^0.4.0", "ui5-middleware-simpleproxy": "^0.9.1", "wdio-chromedriver-service": "7.3.2" }, "resolutions": { "terser": ">=5.14.2", "markdown-it": ">=12.3.2", "marked": ">=4.0.10", "ua-parser-js": ">=0.7.24", "log4js": ">=6.4.0", "karma": ">=6.3.16", "follow-redirects": ">=1.14.8", "minimist": ">=1.2.6" }
已尝试的修复方法:
- 执行命令:
npm i node-fetch@2.6.1 - 在package.json中添加
"type": "module"
试过所有能找到的方法仍未解决,恳请帮忙修复该错误,感谢!
内容的提问来源于stack exchange,提问作者Nandita
相关产品推荐
相关产品推荐

