我只是> npm i -g phonegap@9.0.0和> phonegap --version。
它不仅说9.0.0而且还说:
(node:18392) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
Run Code Online (Sandbox Code Playgroud)
当我> node --trace-warnings ...,我得到这个:
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'C:\Users\twori\...'
[90m at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)[39m
[90m at Function.Module._load (internal/modules/cjs/loader.js:725:27)[39m
[90m at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)[39m
[90m at internal/main/run_main_module.js:17:47[39m {
code: [32m'MODULE_NOT_FOUND'[39m,
requireStack: []
}
Run Code Online (Sandbox Code Playgroud)
我只安装并检查版本。为什么phonegap模块会抛出这个错误?
我的老师和其他学生对此很满意,但只有我无能为力。
Shu*_*m P 37
循环依赖中的导出
这句话提示我解决了同样的问题,似乎较新的 NodeJS 版本不再允许循环依赖。
例如 - 有两个文件 - FileA.js, FileB.js
凡FileA.js有
const FileB = require("FileB");
Run Code Online (Sandbox Code Playgroud)
和FileB.js有
const FileA = require("FileA");
Run Code Online (Sandbox Code Playgroud)
通过修改 FileA.js 或 FileB.js 删除这些循环依赖项之一后,它解决了!
小智 13
我发现这种安排对错误没有影响,当我在另一个文件中调用该函数时,我调整了Javascript解构,它神奇地解决了问题。
我只是改变了从 Main.js 导出函数的方式
从:
module.exports = { Scan };
Run Code Online (Sandbox Code Playgroud)
到:
exports.Scan = Scan
Run Code Online (Sandbox Code Playgroud)
在 Event.js 中,我能够像这样访问该文件
const main = require("./Main.js");
let result = main.Scan();
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题,我希望它可以帮助其他开发人员
节点版本太高。之前用的是最新用的14+版本。切换回12版本后就没有这个问题了。
Mac 命令
sudo n 12.0.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55899 次 |
| 最近记录: |