节点

时间:2016-09-29 09:55:26

标签: node.js

我有一个包含以下代码的配置文件:

const email =  {
  persistentUserModel: Users,
  expirationTime: 600, // 10 minutes

  verificationURL: 'http://localhost:8000/email-verification/${URL}',
  transportOptions: {
    service: 'Gmail',
    auth: {
      user: 'my@email.com',
      pass: 'myPassword'
    }
  },

  hashingFunction: myHasher,
  passwordFieldName: 'pw'
}

var configuration = Object.assign({
  host: process.env.HOST || 'localhost',
  port: process.env.PORT || 3000,
  databaseUrl: process.env.MONGO_URL || 'mongodb://localhost/cervezas',
  uploadsDir: path.join( __dirname, 'static', 'uploads' ),
  auth,
  email
}, environment)

module.exports = configuration

Eslint给我一些错误: - 未定义用户 - myHasher未定义

在另一个文件中我加载此配置文件,我需要模型和函数:

var myHaser= require('myHasher');
var Users = require('../models/Users')
....
nev.configure(configuration.email);

我不想在配置文件中要求模型和功能,因为它只是配置文件。

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

这是我的示例代码,用于实现您的要求:

var serverConfig = {};


serverConfig.MySqlConfig = {
    MysqlUsername: "root",
    MySqlPassword: "",
    MySqlHost: "127.0.0.1",
    MySqlDbName: "Geomat"

};

serverConfig.ServerPort = {
    Administrator: 1234,
    Geomat: 8888,
    Bank: 1366
};


serverConfig.default =
{
    Debug: true
};

exports.serverConfig = serverConfig;

并在主程序中要求如下:

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

和用法:

this.io = require('socket.io').listen(serverConfig.ServerPort.Geomat);

关于您的代码的一些注意事项:

  • 您使用严格模式 ES6
  • 中允许的 const
  • 您在呈现的配置文件中分配了一个不存在/实现的对象值
  

persistentUserModel:Users,