./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