首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点中的变量导出

节点中的变量导出
EN

Stack Overflow用户
提问于 2016-09-29 17:55:26
回答 1查看 52关注 0票数 0

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

代码语言:javascript
复制
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未定义

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

代码语言:javascript
复制
var myHaser= require('myHasher');
var Users = require('../models/Users')
....
nev.configure(configuration.email);

我不想在配置文件中要求模型和函数,因为它只是一个配置文件。

正确的做法是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-09-29 18:34:46

下面是我的示例代码,它们实现了您的需求:

代码语言:javascript
复制
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;

在你的主程序中需要这样的代码:

代码语言:javascript
复制
var serverConfig = require('./serverConfig').serverConfig;

和用法:

代码语言:javascript
复制
this.io = require('socket.io').listen(serverConfig.ServerPort.Geomat);

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

  • 您使用的const仅允许在严格模式ES6

中使用

  • 您分配的对象值在您提供的配置文件

中不存在/实现

persistentUserModel:用户,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39767112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档