首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >web客户端和NodeJS服务器之间的共享常量

问web客户端和NodeJS服务器之间的共享常量
EN

Stack Overflow用户
提问于 2012-07-24 20:21:18
回答 2查看 1.1K关注 0票数 2

我有一个NodeJS应用程序,它在客户机和服务器之间有共同的常量。

常量存储在变量中,而不是内联的。这些变量可以在两个单独的文件中定义,一个用于客户机,另一个用于服务器。

文件1:

代码语言:javascript
复制
// client_constants.js
MESSAGE_TYPE_A = "a";
MESSAGE_TYPE_B = "b";

文件2:

代码语言:javascript
复制
// server_constants.js
exports.MESSAGE_TYPE_A = "a";
exports.MESSAGE_TYPE_B = "b";

为了避免重复的代码,我想将常量存储在单个位置和客户机和服务器的单一格式中。干吗?

EN

回答 2

Stack Overflow用户

发布于 2012-07-24 21:06:32

你可以这样做:

代码语言:javascript
复制
// constants.js
root = exports ? window
root.MESSAGE_TYPE_A = "a";
root.MESSAGE_TYPE_B = "b";

客户端不存在“导出”,在这种情况下,它将使用默认的“窗口”对象。

票数 4
EN

Stack Overflow用户

发布于 2021-07-15 00:37:09

有点像赫克托的答案,但在我的Node版本和我的浏览器中都有效,因为它使用了与"undefined"和typeof的比较。

代码语言:javascript
复制
var context = (typeof exports != "undefined") ? exports : window;
context.constant_name = "constant_name_string";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11638706

复制
相关文章

相似问题

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