格式化NodeJS需要自定义模块

时间:2018-05-09 19:17:39

标签: node.js module require

所以,这可能已经回答了,但我已经尝试了一些我已经遇到的建议无济于事。我正在设置我的NodeJS项目,因为我有一个开发和生产环境,所以我决定创建一些配置文件来处理不同的环境。但是,每当我访问该站点并检查服务器日志时,我都会看到:

module.js:549 throw err; Error: Cannot find module '../config/config.index'

另外需要注意的是......当我打开命令行并输入Node来调出interpeter时,我可以使用require('../ config / config.index');并且它工作得非常好,但由于某种原因,脚本存在问题。我的项目布局就是这样......

- config
---- config.beta.js
---- config.global.js
---- config.index.js
---- config.live.js
---- config.test.js
- node_modules
---- alot of stuffs
- package-lock.json
- package.json
- server.js

我还会在每个文件中发布我的require语句......

server.js

cfg = require("../config/config.index");

config.index.js

var appPool = process.env.APP_POOL_ID;

if (appPool == "LIVE") {
    env = "live";
} else if (appPool = "BETA") {
    env = "beta";
} else {
    env = "test";
}

var cfg = require('./config.'+env);

config.beta.js

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

config.test.js

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

config.live.js

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

非常感谢任何帮助!

谢谢。

1 个答案:

答案 0 :(得分:0)

看起来你正在尝试使用模块是其他文件。

为此,您需要将该模块添加到导出对象。像

 exports.module.cfg  = cfg 

现在如果你使用

require('./config/config.index')

在您的服务器文件中。这应该工作