当我尝试运行
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 的云应用程序,我们有 2 个 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"
}
内一:
"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 [email protected]
或者,在 package.json 文件中,写入
"type": "module"
等。
参考:将 index.js 的要求更改为动态 import(),该方法在所有 CommonJS 模块中都可用
有人可以帮我解决这个错误吗?任何帮助将不胜感激。 要求:请不要关闭问题。我知道这是重复的问题,但是我找不到任何解决方案,尝试了我找到的东西。谢谢
我遇到了同样的错误,需要
node-fetch
。解决方案是
const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));
使用nodemon