ES6 オブジェクトからすべての値をエクスポートする 質問する

ES6 オブジェクトからすべての値をエクスポートする 質問する

./my-module.js戻り値となるオブジェクトを持つモジュール ( ) があるとします。

let values = { a: 1, b: 2, c: 3 }

// "export values" results in SyntaxError: Unexpected token

次のようにインポートできます:

import {a} from './my-module'           // a === 1
import * as myModule from './my-module' // myModule.a === 1

私が見つけた唯一の方法は、エクスポートをハードコーディングすることです。

export let a = values.a
export let b = values.b
export let c = values.c
// or:
export let {a, b, c} = values

それは動的ではありません。

オブジェクトからすべての値をエクスポートすることは可能ですか?

ベストアンサー1

この解決策を 実際に推奨することはできません が、機能します。オブジェクトをエクスポートするのではなく、各メンバーの名前付きエクスポートを使用します。別のファイルで、最初のモジュールの名前付きエクスポートをオブジェクトにインポートし、そのオブジェクトをデフォルトとしてエクスポートします。また、最初のモジュールからすべての名前付きエクスポートを次のようにエクスポートします。export * from './file1';

値/value.js

let a = 1;
let b = 2;
let c = 3;

export {a, b, c};

値/index.js

import * as values from './value';

export default values;
export * from './value';

インデックス

import values, {a} from './values';

console.log(values, a); // {a: 1, b: 2, c: 3} 1

おすすめ記事