【问题标题】:What is ES6 equivalent of module.exports = { key: "value" }?module.exports = { key: "value" } 的 ES6 等价物是什么?
【发布时间】:2017-06-08 15:42:05
【问题描述】:

我有以下代码:

module.exports  = { 
    key: "value",
    key2: 1234
}

如果我将其更改为:

export default {
    key: "value",
    key2: 1234
}

然后以下导入停止工作:

import {key, key2} from 'module.js';

什么是 ES6 等效的导出对象?

【问题讨论】:

  • 您可以很好地导出对象,但没有将其作为对象导入。为此使用import obj from 'module.js';。如果您想要单独的导入,您可能根本不会在寻找对象 - 使用命名导出,如@MichałPerłakowski 的回答

标签: javascript ecmascript-6 es6-modules


【解决方案1】:

您可以先定义变量并导出它们:

const key = 'value';
const key2 = 1234;

export { key, key2 };

或者您可以在定义它们的同一行中导出它们:

export const key = 'value';
export const key2 = 1234;

【讨论】:

  • +1。这基本上相当于 CommonsJs/ES5 module.exports.key = "value"; module.exports.key2 = 1234;
【解决方案2】:

如果您使用导出默认值,则无需使用括号。所以你像这样导入模块:

import module from 'module.js';

// access key property
console.log(module.key)

如果您想导入 import {key, key2} from 'module.js'; 之类的模块,请参阅 @Michał Perłakowski 的回答。

【讨论】:

  • 仅仅省略 default 关键字是不够的。你不能这样做export {a:1,b:2};
猜你喜欢
  • 2020-07-19
  • 1970-01-01
  • 1970-01-01
  • 2017-09-13
  • 2013-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-19
相关资源
最近更新 更多