Nodejs和Expressjs:全局变量中的常量

时间:2017-11-03 04:24:56

标签: javascript node.js express

定义于:util / constant.js

module.exports = {
    userTypeAdmin: 0,
    userTypeUser: 1
};

仅在:app.js

中需要一次
...
global.constant = require('./util/constant');
...

多次使用

在:route / index.js

console.log(constant.userTypeAdmin); // Show 0

在:route / user.js

console.log(constant.userTypeUser); // Show 1

问题:

我必须删除 app.js global.constant = require('./util/constant');

并添加:const constant = require('../util/constant');

在route / index.js route / user.js

? 或者说我是如何制作的?

1 个答案:

答案 0 :(得分:2)

1.    const constant = require('../util/constant');
2.    global.constant = require('./util/constant');

只有这些区别,

语句1要求您在任何您想要使用它的地方导入constant包。

语句2使global constant包全局可用。因此,您可以在不导入的情况下访问它。

使用语句2,如果您修改了constant中的任何属性,它将反映在整个应用程序中。

So,make sure,you are using global only when you want to share something across the application.

如果您想要全局共享数据,并且不希望这应该更改,那么使用const关键字对每个原始变量进行delcare。在这种情况下,使对象const无法帮助您。   在任何一种情况下,您都可以将其排除。