javascript - 将 module.exports 重写为导出默认值,但保留导入单个实体的可能性

标签 javascript

是否可以实现与以下相同的功能:

module.exports = {
  a: 1,
  b: 2
}

...稍后允许:
从“path/to/module”导入 { a }

通过使用 ES6 模块(或导出默认值):

export const moduleName = {
  a: 1,
  b: 2
}

这样以后就不会将整个模块导入到另一个模块中,而是只导入其中的一部分

最佳答案

改用命名导出:

export const a = 1;
export const b = 2;

请注意,虽然这允许使用者执行诸如 import { a } from ... 之类的操作,但您现在实际上并没有解构具有 a 属性的对象在那里,就像您最初使用 module.exports 语法所做的那样,您只是提取命名的导出。

如果需要,除了使用命名导出之外,您仍然可以导出默认对象:

export default { c: 'c', d: 'd' }

然后你可以导入

import obj from '...';
const { c } = obj;

关于javascript - 将 module.exports 重写为导出默认值,但保留导入单个实体的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56332660/

相关文章:

javascript - 在 P5.js 中合并图像

javascript - 转换在 Javascript 中不起作用

javascript - React js Firebase 身份验证无法正常工作

javascript - FB Share 对话框图片未显示

javascript - 如何使用jquery获取outerHTML以使其跨浏览器

javascript - 加载新数据时更新上下文行 d3

javascript - 更新后的 Elasticsearch 查询返回旧的未更新文档

javascript - TLS WebSocket 服务器与 firefox 客户端一起工作,但不与 chrome 客户端一起工作

javascript - 来自 javascript 的新行字符串

javascript - 努力解析 responseText