我使用yarn add,nodeJS告诉我整个文件夹“找不到模块”

I use yarn add, and nodeJS tells me 'cannot find module' for my whole folder

提问人:ronzenith 提问时间:1/5/2020 最后编辑:leonheessronzenith 更新时间:2/12/2020 访问量:6443

问:

我正在构建一个登录 Web 应用程序。文件夹名称是“login”,我用它来初始化我的项目并添加所有包。当我想用 运行我的项目时,它会返回一个错误:yarn addnode .

Error: Cannot find module '/home/mynameis/Documents/tecky-exercises/login'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

enter image description here

如果您能帮助我解决错误,将不胜感激。为什么错误发生在我的整个文件夹中,而不是特定的依赖项中?

我怀疑该错误与package.json或tsconfig.json的位置有关。它是重复的,我不知道哪个位置是正确的。

node.js express 节点模块 yarnpkg

评论

0赞 kkesley 1/5/2020
~~我们能看到你的吗?~~ 我认为你需要磨合,因为你的根文件夹中没有index.jsnode ./serverindex.js
0赞 ronzenith 1/5/2020
@kkesley require('ts-node/register');require('./main');
1赞 kkesley 1/5/2020
我怀疑您需要在文件夹中运行它。所以在您的文件夹(即 ).跑。不过,它会抛出一个错误,因为您的文件夹中没有任何内容。在这种情况下,请在文件夹中运行./serverloginnode ./servernode_modulesserveryarn add./server
0赞 ronzenith 1/5/2020
@kkesley那么,在服务器文件夹中运行后,我应该重新安装所有软件包吗?
0赞 kkesley 1/5/2020
是的。或者,您可以将 index.js 移动到根目录(即/login)

答:

2赞 kkesley 1/5/2020 #1

发生此错误的原因是项目的根文件夹 () 中没有(或)。index.js.ts/login

如果仍希望将代码保存在文件夹中,则可能需要使用 ./login/servernode ./server

此外,您需要在文件夹中运行,因为您的项目中有 2 个 package.json。(它将解析为代码中最接近的那个。在这种情况下,它将尝试在您的文件夹中查找)yarn install/login/servernode_modules/login/server

要回答您的后续问题,是的,您可以删除其中任何一个。如果删除 中的 package.json,则需要保留 .如果删除 中的那个,则需要保留/login/server/login/node_modules/login/login/server/node_modules