错误 - 找不到模块“config”

8

我在all.js中有邮件配置代码。

现在我正在尝试将其导入到我的mail.js服务中,因此我按以下方式导入了config模块:

mail.js

config = require('config'),

all.js

mailer: {
        auth: {
            user: "XXXXXXX",
            pass: "abc@123"
        }
    }

enter image description here

我的代码报错了,提示找不到模块,但是我已经检查过这个模块是存在的。请问该怎么解决这个问题?


你是否已经导出了该模块?例如,像 Module.Exports.Mailer = {auth : {...}} 这样的操作。 - Errol Dsilva
config.js 导出 all.js,而我的代码在 all.js 中。 - Anup
尝试使用以下代码:config = require('config').mailer,如果你正在导出一个名为mailer的对象,你需要引用它。 - Errol Dsilva
尝试过了...仍然出现错误,找不到模块“config”。 - Anup
尝试使用路径 require('./config/config'); 参见文件模块 - Sonata
显示剩余2条评论
3个回答

13

我使用了以下代码,它起作用了:

config = require('../config/config');

4
是的,你需要使用相对路径(以'../'或'./'开头),否则node.js将会查找node_modules文件夹。 - alex
1
请确保知道如何区分 ../ 和 **./**。. = 当前目录 .. = 上一级目录参考 - Michał Dobi Dobrzański

5

如果您没有安装config包,也会出现此问题。您可能只需要安装config包。

npm i config

0

所以你必须根据使用process.env的文件修改路径,而不是相对于指定的文件config.json。

例如:

node_modules
.gitignore
.env
config.json
folder:
     file.js

在 file.js 中使用 config.json process.env.SECRET_KEY

.env: SECRET_KEY=../config.json //because you go out of folder in file.js to get into config.json

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接