gpt4 book ai didi

javascript - NodeJS 找不到自定义模块

转载 作者:行者123 更新时间:2023-11-30 08:03:41 24 4
gpt4 key购买 nike

我正在尝试将模块导出到我的路由文件。

我的文件树是这样的

routes.js
app.js
controllers/users.js
posts.js

在我的 app.js 上,我导出了 var route = require('./routes'); 并且可以正常工作。现在在我的 routes.js 上,我尝试导出 require('./controllers');

但它一直告诉我它找不到模块 Controller

这样做有效:

require('./controllers/users')

但我正在尝试遵循 expressjs 示例初始项目格式。这让我很烦恼,因为 expressjs 的示例显示:(express routes 是一个文件夹)

var routes = require('./routes');

并像加载它一样

app.get('/', routes.index);

没有错误。 ./routes 是一个文件夹。我只是遵循同样的原则。

最佳答案

如果您尝试require 一个目录,它期望该目录中有一个index.js 文件。否则,您必须简单地要求单个文件:require('./controllers/users')。或者,您可以在 controllers 目录中创建一个 index.js 文件并添加以下内容:

module.exports.users = require('./users');
module.exports.posts = require('./posts');

然后导入:var c = require('./controllers');。然后您可以通过 c.usersc.posts 使用它们。

关于javascript - NodeJS 找不到自定义模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21948942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com