【问题标题】:How to export an object from a separate file to both Node and Javascript?如何将对象从单独的文件导出到 Node 和 Javascript?
【发布时间】:2018-05-21 17:06:54
【问题描述】:

我有一个名为 utils.js 的文件,其中包含一些常量,我正在构建一个套接字应用程序,它使用 Node 进行后端工作,使用常规 Javascript 进行前端工作。前端和后端的套接字事件的名称是相同的,所以我想在后端和前端都使用常量。但是 ecmascript6 中的导出/导入语法与 Node 不同,那么我该如何解决呢?

这是utils.js的内容:

const EVENTS = {
    CONNECTION: 'connection',
    MESSAGE: 'message'
};
Object.freeze(EVENTS);
module.exports = EVENTS;

【问题讨论】:

  • Object.freeze 返回一个冻结的对象,不改变传递的对象,改为module.exports = Object.freeze(EVENTS);
  • 你在使用 webpack 吗?
  • @GabrielCarneiro no
  • 你可以在 node.js 上使用 ECMA6 模块,take a look.

标签: javascript node.js import export


【解决方案1】:

您可以将对象放在 JSON 文件中,例如 events.json,或者甚至 event.js 都是您想要的纯 JS 对象。 Node 和 JS 都可以访问它。然后你在 utils.js 中需要/导入这个文件,你可以在前端做同样的事情。前端和后端可以随心所欲地处理这些。

【讨论】:

  • 但是我不需要先导出那个文件吗?
  • 不,您将创建一个包含该数据的文件,例如 json 文件。您的 Node 或 JS 代码获取该 JS 代码,然后将其用作 JS 对象。
  • 您的意思是使用文件读取调用来读取 JSON 文件吗?
  • 对不起。在客户端上,您需要将其加载。这将是客户端加载到服务器文件中,因此需要使用 AJAX 加载它。这可能是 dev 中的一个问题,因为有时将本地文件加载为 AJAX 会很困难,但您可以设置一个简单的 http 文件服务器来执行此操作。
  • 对不起,我不能接受你的回答。请使用确切的代码 sn-p 对其进行编辑,以显示如何完成 OP 中所述的内容。你的建议太模糊了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-08
  • 2016-05-12
  • 1970-01-01
  • 1970-01-01
  • 2020-06-27
  • 2011-10-11
相关资源
最近更新 更多