当我有更多的后端javascript文件时,我是否应该将node_模块放在一个单独的文件夹中?

当我有更多的后端javascript文件时,我是否应该将node_模块放在一个单独的文件夹中?,javascript,node.js,model-view-controller,Javascript,Node.js,Model View Controller,My node js项目具有以下结构: app | |-public | |-assets | |-node_modules | |-views | |-index.js 我在index.js中有很多代码。所以我决定将它们分成不同的文件,并将它们放在名为controllers的文件夹中。但是,由于模块引用的是节点_模块文件夹,而该文件夹不在控制器文件夹中,因此我得到的模块未找到 因此,将node\u modules文件夹移动到controllers文件夹中是一个好主意,还是有更好的方法来管理

My node js项目具有以下结构:

app
|
|-public
|  |-assets
|
|-node_modules
|
|-views
|
|-index.js
我在index.js中有很多代码。所以我决定将它们分成不同的文件,并将它们放在名为
controllers
的文件夹中。但是,由于模块引用的是节点_模块文件夹,而该文件夹不在
控制器
文件夹中,因此我得到的模块未找到

因此,将
node\u modules
文件夹移动到
controllers
文件夹中是一个好主意,还是有更好的方法来管理大量后端js文件(无论是否将其放入单个文件夹中)

如果我将
节点_模块
移动到
控制器
中,在以后开发应用程序时是否有可能落入陷阱?(这是一个巨大的项目,所以问)

我知道我可以通过给出
require(“./controllers/module.js”)
直接将这些模块包含在index.js中,但模块本身依赖于许多节点模块。因此我需要访问节点模块。

否。否。 您不需要移动节点单元模块。它将保留在项目根目录中。而且你不需要把它添加到需求中

您可能做过和不应该做的示例:

const module = require('./node_modules/mymodule');
不要那样做

那没必要。如果你移动一个文件,你将面临你现在面临的问题

node如何知道在node_模块中的何处查找模块?下面有一些文章对此进行了解释:

tl;dr:更改您的请求并删除对节点\ U模块的引用。节点将自己找到它

否。否。 您不需要移动节点单元模块。它将保留在项目根目录中。而且你不需要把它添加到需求中

您可能做过和不应该做的示例:

const module = require('./node_modules/mymodule');
不要那样做

那没必要。如果你移动一个文件,你将面临你现在面临的问题

node如何知道在node_模块中的何处查找模块?下面有一些文章对此进行了解释:


tl;dr:更改您的请求并删除对节点\ U模块的引用。节点将自己找到它

在哪里是
控制器
(或者
控制器
?您在问题中使用了两者)?如果它是
app/controller
,则其中的模块在使用
app/node\u模块时应该没有问题。请张贴你的错误。(不,您绝对不应该将
node_模块
移动到其他位置。它应该始终位于
package.json
旁边)您应该使用有关
控制器
文件夹的位置以及如何从node_模块请求库的信息更新您的问题1。在index.js中使用自己的模块:
import。。。来自“./controller/mymodule”2。在自己的模块中使用自己的模块:
导入。。。来自“/mymodule”3。使用第三方模块:
导入。。。来自“某个_模块”并且不要将
节点\ u模块移动到任何地方。我已经更新了问题
控制器在哪里(或者
控制器
?您在问题中使用了这两个)?如果它是
app/controller
,则其中的模块在使用
app/node\u模块时应该没有问题。请张贴你的错误。(不,您绝对不应该将
node_模块
移动到其他位置。它应该始终位于
package.json
旁边)您应该使用有关
控制器
文件夹的位置以及如何从node_模块请求库的信息更新您的问题1。在index.js中使用自己的模块:
import。。。来自“./controller/mymodule”2。在自己的模块中使用自己的模块:
导入。。。来自“/mymodule”3。使用第三方模块:
导入。。。来自“某个_模块”并且不要移动
节点\u模块
任何地方。我已经更新了问题